buuctf-pwn ciscn_2019_n_1题解(学习过程持续更新)
本人也是在自学过程主要目的也是记录学习过程有些地方做的不太好都是按照自己理解进行讲解的不专业欢迎大家指出问题此处我将文件命名为pwn2先file pwn2可以看到为64-bitchecksec pwn2查看一下保护机制可以看到stackNXPIE都没有开启将文件拖入ida64找到main函数按F5将汇编代码转换成c语言代码我们可以看到在main函数里调用了func()函数双击进入分析这段代码找漏洞由于gets没有限制存在漏洞v1可以输入无限长的字节所以我们可以从v1输入垃圾数据直到v2这个垃圾数据的长为0x30-0x0444个字节再看v2等于11.28125时函数返回system这个后门函数得到flag所以我们可以在我们输入的垃圾数据后输入11.28125手动将函数返回system直到这些我们就可以返回虚拟写写我们的攻击脚本了nano exp.py其中payload中的ba*44就是我们填入的垃圾数据struct.pack(f,11.28125)是将浮点数转化成字节保存退出python3 exp.py得到flag此题完