【发布时间】:2020-05-29 20:23:38
【问题描述】:
我正在尝试使用 dostackbufferoverflowgood.exe 练习缓冲区溢出,但遇到了问题。
在使用netcat通过echo `python3 -c "print('A'*146 + 'BBBB')"` | nc 192.168.1.237 31337命令发送5000个A时程序崩溃了,EIP的值为42424242,这样很好。
当尝试用 python 脚本做同样的事情时,什么都没有发生,我尝试调试了一段时间,包括使用 python2、wireshark,但在客户端和服务器上似乎都一样,除了服务器不是' t回复,很奇怪但是回复的是nc,所以肯定是python脚本的东西。
python 脚本:
import socket
server = '192.168.1.237'
port = 31337
data = b'A'*146 + b'B'*4
print(len(data))
print(data)
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
print(f'trying to connect to {server}')
s.connect((server,port))
s.send(data)
print('data was sent')
data = s.recv(1024)
print(data)
再次,当捕获wireshark时,一切似乎都是一样的,所以我不知道为什么会这样。
如果有人遇到类似情况,不胜感激,谢谢!
【问题讨论】:
标签: python sockets buffer-overflow netcat