2018 DEFCON Quals ghettohackers: Throwback
题目描述
Anyo!e!howouldsacrificepo!icyforexecu!!onspeedthink!securityisacomm!ditytop!urintoasy!tem!
思路
- 一种方法是补全叹号内容得到flag
flag{Anyone who would sacrifice policy for execution speed thinks security is a commodity to pour into a system}- 或者
flag{nwltisoos} - 但都是错的
- 另一种则是以
!为分割点将字符分开,字符串长度对应字母表中字母的顺序,同时假设0个字符为空格
EXP
ori = 'Anyo!e!howouldsacrificepo!icyforexecu!!onspeedthink!securityisacomm!ditytop!urintoasy!tem!'
sp = ori.split('!')
result = ''.join(chr(97 + len(s) - 1) for s in sp)
print(result)
flag{dark logic}
判断图片类型
- 给出了一个
admin.exe文件,我们需要先判断其文件类型- 先用
binwalk判断binwalk admin.exe得出为png文件 - 再使用
GHEX来进行十六进制验证ghex admin.exe,得到89 50 4E 47 0D 0A 1A 0A的PNG文件头
- 先用
- 于是我们将后缀改为
PNG,得到一张二维码,用QRCode扫描即可得到flagmv admin.exe admin.png
倒转文件byte
- 用
binwalk判断文件类型为jpg,于是用GHEX打开 - 打开后并没有在开头看见
PNG文件头,翻到最下面看见有倒转过来的PNG与IHDR,于是使用脚本将其翻转,得到flag
EXP
a = open('flag.jpg','rb') #读取flag.jpg图片的byte数据
b = open('png.png','wb') #新建一个名为png.png的图片,写入byte数据
b = b.write(a.read()[::-1]) #将flag.jpg图片的byte数据,倒着写入png.png图片里
添加文件头
- 先用
binwalk判断文件类型为PNG,用GHEX打开
binwalk no_hex
ghex no_hex
- 打开后发现文件头缺失,
INS-> 添加89 50 4E 47 - 另存为
CTRL + SHIFT + S
修改宽高
python Deformed-Image-Restorer.py -i demo.png
LSB图片隐写
前言:
作为一个不是十分勤奋的仍在入门苦苦挣扎的CTFer,之前做了几道Misc的图片题(因为简单),我的操作仅限于“打开随波逐流 –> 图片及文件隐写 –> binwalk文件提取”,最多延伸到用010打开修改文件头,这学期决定真的真的真的要入门CTF了,现在准备学一下之前看见就跑的LSB隐写题
另外,本来是想下载Stegsolve的,但我的能力有限,下载的全是精简版,ChatGPT教我的很多功能都找不到,放弃后又去询问ChatGPT,决定试试zsteg → StegoVeritas → StegOnline(最后确认)这样的流程
我总觉得我记性不是很好,所以我总是写的比较哆嗦