【文件上传漏洞】绕过验证上
文件上传漏洞的本质,是Web应用程序在处理用户上传文件时,其安全防御机制存在缺陷。这通常并非由于完全没有防护,而是因为防御措施不够严谨或可以被绕过。图片中指出的两个主要原因非常典型:其一,应用程序自身设计的过滤措施,如仅在前端检查文件类型、使用不可靠的黑名单机制等,很容易被攻击者通过篡改数据包等方式绕过;其二,许多网站集成的第三方开源编辑器(如CKEditor、UEditor等)其本身的历史版本就存在已知的上传漏洞,若未及时更新或安全配置,便会将风险引入整个系统。
一旦防御被突破,漏洞带来的危害是致命性的。正如图片所强调,攻击者上传的恶意文件(如Webshell)将使服务器沦为“肉鸡”。其危害远不止于文件系统被破坏,更关键的是攻击者能够在服务器上执行任意命令,从而完全控制服务器。以此为基础,攻击者可以实施横向移动,将攻击蔓延至内网其他系统;也可以将上传的恶意文件作为恶意软件分发点,危害其他终端用户。
文件上传漏洞是一个威胁极大的安全短板。因此,防御必须构建多层次、纵深的体系:不仅要采用服务端白名单验证文件类型和内容,严格限制上传目录的执行权限,还需及时更新和审慎配置第三方组件,从而从根本上杜绝漏洞的产生与利用。
工具名称 | 项目类型 | 主要特点/描述 | 适用场景 |
---|---|---|---|
中国蚁剑 (AntSword) | 开源 | 跨平台、插件化、界面友好,社区活跃,适合初学者学习。 | 常规的网站管理、安全渗透测试。 |
冰蝎 (Behinder) | 开源 | 通信全程加密,流量特征隐蔽,绕过安全设备能力强。 | 对安全防护较严的目标进行隐蔽的测试。 |
哥斯拉 (Godzilla) | 开源 | 功能强大,支持多种Payload和加密方式,被誉为“后起之秀”。 | 功能全面的渗透测试,支持多种复杂场景。 |
以中国蚁剑为例子。上传一个Webshell管理脚本也是php文件,b374k Shell,(网址:webshell/php/b374k/b374k-2.3.min.php at master · tennc/webshell · GitHub)在upload靶场通过文件上传漏洞等方式,将这个PHP文件上传到目标服务器,然后直接通过浏览器访问它,即可打开一个图形化的管理界面。
绕过JS验证(php版本5.2.17)
2.
在bp浏览器同样输入upload靶场选择上传文件打开新标签页再去蚁剑测试链接发现连接成功,说明也能正确绕过JS验证。
换哥斯拉测试
注意1.php放在跟靶场同目录下。到哥斯拉添加。url填http://ip/upload/1.php
冰蝎
php文件放到uploads目录下
绕过content-type
MIME类型是多用途互联网邮件扩展的简称,它建立了文件扩展名与对应打开程序之间的关联规则。当用户访问特定类型的文件时,浏览器会根据MIME类型自动调用相关应用程序来打开文件。这种机制常被用于处理客户端自定义文件名和媒体文件的打开方式设定。
在安全测试中,攻击者可能会尝试绕过MIME类型验证来上传或执行恶意文件。例如,通过修改文件的MIME类型标识,欺骗系统错误地处理文件,从而绕过安全检查。
关掉抓包,会浏览器复制网址在蚁剑测试连接
绕过(.php、.phtml、.php3)
通过等价扩展名来突破黑名单验证机制。攻击者利用某些具有相同解析效果但未被黑名单收录的替代扩展名(如.phtml、.php5等)来绕过检查。
绕过手法的根源在于Web服务器(如Apache)的配置文件httpd.conf中的AddType指令,该指令定义了哪些扩展名会被解析为PHP程序。如果配置中过多扩展名被允许执行PHP代码,就会显著扩大攻击面。
https://github.com/evi1hack/Fuzz_dic/tree/master
选择一个php后缀参数路径
这是由于蚁剑识别不了apache。
加上php3或者php5,就会以php的形式识别
<IfModule php_module>
AddType application/x-httpd-php .php .phtml .php3
</IfModule>
在响应HTML里