1.文件上传漏洞的原理
1.1什么是文件上传漏洞
文件上传漏洞(File Upload Vulnerability)是一种常见的Web安全漏洞,指攻击者通过Web应用程序的文件上传功能,绕过安全检测机制,向服务器上传恶意文件(如木马、后门程序、脚本等),从而获取服务器控制权或实施进一步攻击的行为。该漏洞常出现在用户交互频繁的功能模块中,例如头像上传、文档提交、图片分享等场景。
1.2文件上传漏洞的原理
文件上传漏洞的核心原理在于服务端对上传文件的检测机制不完善,导致攻击者可绕过限制上传恶意文件。具体可分为以下两类原因:
1.2.1未充分验证文件属性
文件类型验证缺失:仅依赖客户端(如浏览器)提交的
Content-Type
字段(如image/jpeg
)判断文件类型,攻击者可通过伪造HTTP请求头绕过检测。文件扩展名未过滤:未对文件后缀(如
.php
、.jsp
)进行严格校验,允许执行危险脚本文件。文件内容未检测:未通过文件头(Magic Number)或二进制内容校验文件真实性,例如将恶意代码伪装成图片文件(图片马)。
1.2.2服务器配置缺陷
危险目录权限:上传目录被设置为可执行权限(如Apache的
/var/www/uploads
目录允许执行PHP文件)。解析漏洞:服务器对文件解析逻辑存在缺陷(如IIS的
test.jpg/.php
解析漏洞),导致非脚本文件被当作代码执行。
1.3一句话木马
上传shell.php文件
eval的使用可以查看手册https://www.php.net/manual/zh/function.eval.php
在php中system可以执行一些系统程序
此时就可以在网页上个执行一些系统程序,如查看系统ip等,原则上只要对windows系统命令足够掌握便可以在这个网页上做所有想要做的事情。
2.Webshell
2.1什么是Webshell
Webshell(网页后门)是一种基于Web脚本语言(如PHP、ASP、JSP)编写的恶意程序,通常由攻击者通过漏洞(如文件上传漏洞、远程代码执行漏洞)植入到目标服务器中。其核心功能是建立攻击者与服务器之间的隐蔽通信通道,使攻击者能够绕过正常权限限制,远程操控服务器(例如执行系统命令、窃取数据、植入其他恶意软件等)。Webshell因其隐蔽性、灵活性和破坏性,成为渗透攻击中最常见的工具之一。
2.2特点
2.2.1一句话木马
代码短,只有一行代码。
场景多,可以单独生成文件,也可以插入到图 片中。
安全性高,隐匿性强,可变形免杀
2.2.2小马
体积小,功能少
只有文件上传功能
2.2.3大马
体积大,功能全
能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权
3.工具
3.1蚁剑
下载链接https://github.com/AntSwordProject/antSwordj
3.2weevely
下载kali系统
自动生成一个一句话木马
weevely generate 密码 文件名
让文件放到kali的phpstudy的www目录下
在Kali下安装phpstudy
if [ -f /usr/bin/curl ];then curl -O https://dl.xp.cn/dl/xp/install.sh;else wget -O install.sh https://dl.xp.cn/dl/xp/install.sh;fi;bash install.sh
具体使用方法可以查看这位博主的文章https://blog.csdn.net/m0_59188912/article/details/124934975
3.3godzilla
下载链接https://github.com/Freakboy/Godzilla
下载好之后在目录下打开cmd命令行窗口执行命令java -jar godzilla.jar便可打开窗口
在管理生成自动生成一个一句话木马
密码密钥都是默认的,有效载荷改为php,加密器位BASE64
将godzilla.php放到上传目录下,
在godzilla目标中选择添加
URL为刚才生成的godzilla.php的url
密码密钥都是默认的,有效载荷改为php,加密器位BASE64
添加后右键进入即可获得信息
具体使用和安装方案可以看这位博主的文章https://blog.csdn.net/zibery/article/details/124824833
3.4behinder(冰蝎)
下载链接https://github.com/Freakboy/behinder
启动方式和godzilla一样在目录下进入命令行模式输入java -jar Behinder.jar
在sever目录下可以看到自带的脚本复制shell.php到uploads下改名位behinder.php
添加到behinder里面
这里便可以对网站,操作系统等进行操作