pwn200 wp
一.了解一下rop
rop:全称返回导向编程(Return-Oriented Programming),通常有许多gadget组成,而gadget是程序中的一小段指令(一小段以ret结尾的code)
攻击前提:
- 存在栈溢出且可以控制返回地址
- 存在满足条件的gadget,如果开启PLE保护则要想办法泄露gadget的地址
二.解题开始
1.先用gdb调试,查看保护机制
2.用IDA 分析,发现read函数存在栈溢出,0x68的buf硬生生写入了0x100
3,用pattern确定偏移量
先150来生成一段150个字节的字符串,r后输入它,再用pattern offset $ebp(来确定输入字符串第一个字节与ebp的距离)或者 pattern offset 0x38414169