MISC题目毫无学习的意义。——一位不愿透露姓名的老张
LSBf
发现过滤出一张图片。保存二进制。
扫描二维码。
爱因斯坦
图片备注this_is_not_password。
binwalk分出一个压缩包,密码就是图片备注。
视而不见
easy crypto
摩斯电码解出:keyisvigenerecipher
维吉尼亚密码,key是vigenerecipher,解出vigenereencryptionhhh。带flag{}提交。
摩斯: http://moersima.00cha.net/
维吉尼亚密码:https://www.qqxiuzi.cn/bianma/weijiniyamima.php
PS Master
后缀是jpg,但是是gif.
gif分离器分出一个二维码,ps修复。
传感器1
参考:曼彻斯特编码——传感器1
1 | b = str(bin(int('5555555595555A65556AA696AA6666666955',16)))[2:] |
- 01电平跳变表示1, 10的电平跳变表示0
- 对二进制流str时注意前面首位是0时,转换得到的串长度并非8的倍数,每八位取值时得到错误数据。(参考上面代码第二行)
- 根据八位倒序传输协议将二进制每八位reverse(第16行)
传感器2
用上面的脚本跑出解密报文,分别是
FFFF FED31F 63 5055 F8
FFFF FED31F 42 5055 D7
对比只有两位不同。找规律发现45->0x63,30->0x42,45与30相差5的3倍,0x63与0x42相差33。所以25-> 0x63 - 33/3*4 = 0x37(就是小学的找规律~)
最后一位数据其实也相差33,我也为也是这个规律,于是卡住了。但其实最后一位时是校验位,它等于从ID开始的6位数据之和 & 0xff
。(根本想不到好吗??)
于是算出flag{FFFFFEB757375055E8}
萌萌哒
一串颜文字,其实是加密的js代码,正式名称叫AAEncode
。
可以直接再浏览器控制台(console)跑。运行的结果是弹出一个窗口,内有3Nc0d3.txt的文本信息。
以下内容(节选):
1 | ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚ |
将http://bxs.cumt.edu.cn/challenge/misc/fxxk/encodes.php
改为http://bxs.cumt.edu.cn/challenge/misc/fxxk/3Nc0d3.txt并
访问。
看到一下内容(节选):正式名称叫Brainfuck
。
1 | +++++ +[->+ +++++ <]>++ +++++ +++.. ...<+ ++[-> ---<] >---- -.<++ +[->+ |
在线解密:https://www.splitbrain.org/services/ook
github:https://github.com/splitbrain/ook
在线解密有些卡,可以自己本地或服务器上搭一个。
解密得到:(节选)
1 | ..... ..... ..... ..... !?!!. ?.... ..... ..... ..... .?.?! .?... .!... |
虽然看着像,但这并不是解码失败。
观察到只有.!?
这三种字符,考虑Ook
Ook
和Brainfuck
的加解密在同一个脚本上(就是上面的那个)。
别问我按哪个按钮,自己翻译一下英语就好。你已经是一个成熟的带学生了。
你的石锅拌饭。
培根密码由两种字体表示,分别表a和b,再由26个字母的对应表解密。
参考阅读:https://blog.csdn.net/Nicky_1218/article/details/86626373
1 | alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] |
据说是个签到题
流量分析,流量很少。
找到这个长度比较长的,追踪TCP流。
1 | bash: cannot set terminal process group (1778): Inappropriate ioctl for device |
从上面找到相关的参数,解密:
大家来找茬
binwalk分离出两张看似相同的图片。
使用stegsolve进行双图分析。
首先open其中一张图片,然后像下图这样打开另一张。
但是如果先打开00000000.png再通过image combiner打开00000668.png,看到的二维码是这样的:
相反顺序是这样的:
所以说要尝试不同先后顺序。
PS反色处理(快捷键ctrl+i)
我就想试试这个名字到底能够起多长
LSB拿到压缩包,忽略压缩包损坏的提示,提取出一个elf文件,脱节IDA直接看到flag.
md5
hash长度扩展攻击。
参考:
hashpump安装:
1 | git clone https://github.com/bwall/HashPump |
明文:63 79 72 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 98 00 00 00 00 00 00 00 61 61 61
hash:d1a19d7c6b2f55781603b37a3607aacf
几个误区:
- 后面的aaa我写的是97 97 97 。忘了这是16进制了。
- 开始时中间全写的是00,看漏了中间的0x98
本题有待继续思考和学习,TODO
猜猜看
使用jphide隐写的图片。
key是flag,输入两次。
OK保存解出的文本。是一串二进制字符串。
1 | with open(r'd:/桌面/11111', 'r')as f: |
解码得到一个html得图片标签,使用base64保存图片信息。
写入html文件,浏览器打开,发现是二维码。