格式化字符串是我觉得较难的一部分,还好pwntools里为我们封装了很多的函数
这道题就用到了一个
fmtstr_payload(offset, writes, numbwritten=0, write_size=‘byte’)
offset代表的是参数相对的偏移
writes代表的是想要利用%n写入的数据
numbwritten代表的是已经写入的字符个数
write_size是写入方式
其实破解思路并不难,但是格式化字符串的题目比较少见,练习也较少
主要就是先泄露libc,然后让printf的got改为system然后将字符串改为‘;/bin/sh’
有一个分号原因是和linux下命令语句有关的,可以同时执行。
所以细节还是挺多的,还需要多加练习。
详细wp https://www.anquanke.com/post/id/85817