WriteUp
- 这是一个坑
- flag.xls
- 图片里的动漫
- 保险箱
涨姿势
- Canon
- BAT公司信息查询系统
- 社交网络
- 矛盾的in2
这是一个坑
解题思路
明文攻击,也有个小坑
WriteUp
解压后发现flag.zip里面也有tips.txt,可以判断是明文攻击
将tips.txt压缩作为明文攻击源,用AZPR进行攻击
成功爆破后却发现有个小坑
如果直接看AZPR的提示或者仔细看下密码的16进制可以发现密码后面是有几个空格的。。
flag.xls
解题思路
Binwalk发现隐藏数据,分离数据之后一顿操作?
不,notepad+ +直接找就行了
WriteUp
先上一张被误导的图
当时就想着把GIF和Bit图分离出来,结果发现图都是残缺的,缺少尾部,然后就想着应该是方向错了,果然用notepad+ +直接找就行了。。
图片里的动漫
解题思路
分离隐藏数据,发现flag.rar的本质,略微有点脑洞
WriteUp
先上Binwalk,发现有个Zip
分离出来后解压得到flag.rar,先用HxD看看,发现flag.rar其实是Jpg图片
改后缀后打开图片发现图片倒置,联想到题目提示,将答案倒置即为flag
保险箱
解题思路
分离隐藏数据,爆破
WriteUp
Binwalk很容易就发现图片里有个rar
分离出rar后发现需要密码,根据题目名和图片内容猜测为纯数字密码,ARPR爆破之
轻而易举的flag
Canon
解题思路
上来就是一个小脑洞,然后有个小坑
WriteUp
zip.zip需要密码,binwalk和HxD观察后没发现zip.zip有带密码的迹象,那么密码应该在MP3中。
把MP3仍进Audacity里观察波形,频谱等都没发现异常,想着用MP3stego解,但这个工具需要密码
那么MP3的密码在哪里呢?
脑洞在这里,其实题目名就是密码,顺利解开得到zip.zip的密码
解压zip.zip后得到一串字符,貌似base64编码
解码后根据内容和pic_png.txt这个文件名推测是png文件的部分数据,缺失文件头,补上即可得到png图像
import base64 #引用自实验吧@pcat
def foo():
f=open('pic_png.txt').read()
fsave=open('pic.png','wb')
fsave.write(base64.b64decode(f))
fsave.close()
pass
if __name__ == '__main__':
foo()
pass
涨姿势点
网站解不开的base64,脚本未必就解不开
备注
刚得到pic_png.txt时就判断为base64编码,但是直接拿到网站上解码时却得到的数据却无法用于生成png图像,而用Python脚本就可以。按理说base64编码和解码的规则都是固定的不应该一个可以解码一个不能解码才对,真是奇怪。这道题我也是因为网站上得到的数据无法用于生成png才看的WP
BAT公司信息查询系统
解题思路
扫码,得到源代码,绕过,一句话木马
WriteUp
满屏的二维码,扫一下
访问该文件得到源代码
这里考察PHP弱类型,只要提交0.99999999999999999(至少17个9)即可绕过,绕过后来到一个404页面
页面源代码中暗藏玄机
那句注释是一句话木马由ANSI转Unicode得到的,解密即可
以下引用自实验吧@pcat
解密方法:把上面这串复制到记事本,另存为,编码选上“Unicode”,关闭。用WinHex等可以查看16进制的软件,直接打开,一目了然。如果想显示正常,把开头的FF FE两个字节删了,再用记事本打开就看到了。
原理是:Windows平台下默认的Unicode编码为Little Endian的UTF-16,UTF-16就需要通过在文件开头以名为BOM(Byte Order Mark)的字符来表明文件是Big Endian还是Little Endian。BOM为U+FEFF这个字符。
涨姿势点
字符串由ANSI转Unicode以及解密方法
社交网络
解题思路
三个脑洞
WriteUp
解压需要密码,密码哪里来?
Binwalk和HxD都没发现有用的信息,那就是题目自身里面了
Birthday一般是有8为数字组成,所以猜测密码为8位数字,爆破它
得到图片,就觉得还有脑洞,直接看下属性
最后还有一个脑洞,就是直接提交大括号里面的内容
涨姿势点
全靠脑洞解题也是第一次
矛盾的in2
解题思路
突兀的数字,进制转换,还有一个不知道为什么的小写
WriteUp
右键源代码发现一些突兀出现的数字
最大就15,估计是16进制,转换一下看看
最后是不知道为什么的小写,就是D改为小写
涨姿势点
虽然有一串突兀的数字在源代码中,但我没当回事,然后一直找不到突破口