picoctf_2018_rop chain

拿到题目就知道要用rop来做

老样子日常检查一下

 

 

 

 

 

 

 32位的程序开启了nx和relro保护

将程序放入ida中

 

 

 一眼就看到了程序中的后门程序

我们逐一分析一下

main

 

 

 vuln

 

get没有对输入字符进行显示所以存在栈溢出

 flag

 

 当win1和win2和a1=-559037827成立就可以获取到flag

所以我们进入win1和win2分别看一下

 

 

 

 

 在win2中a1=-1163220307时win2=1

所以思路就是我们让win1win2和a1分别成立然后就可以获取到flag

a1的值我们可以按下tab查看

 

 

 

 

 

 完整exp如下

 

 

 

 成功获取到flag

 

 

 

 

 结束

posted @ 2021-07-31 15:35  庄周恋蝶蝶恋花  阅读(295)  评论(2)    收藏  举报