LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

文件上传黑名单限制的绕过总结

admin
2025年5月8日 18:43 本文热度 152
0x00 前言

通过SQL注入、弱口令等方式进入网站后台或者在前台找到上传点,但在上传Webshell时发现有黑名单限制、Web.config限制脚本执行/身份验证或者存在某些WAF防护导致Webshell脚本无法上传成功/正常解析,这时我们可以尝试去找一些可能被遗漏且能正常解析的脚本扩展名进行上传绕过测试。
以前看到过很多这样的上传成功绕过案例,所以想着把这些绕过思路和方法记录下来,便于日后查询使用!

常见黑名单禁止上传脚本:

找到一个上传点后先去测试看下是白名单还是黑名单限制,文件名+扩展名+上传目录是否可控,或者是否可以目录穿越(../跨目录),是否存在WAF等?如果为黑名单时可以尝试以下这些脚本扩展名

0x01 stm/shtm/shtml

这种类型脚本虽然不能直接Getshell,但可以获取到一些基本信息,而且可以使用includeweb.configconn.asp等文件中的内容包含出来查看,还可以尝试使用../../跨目录形式fuzzing看是否能包含到一些有权限读取的铭感配置文件或凭据信息等,然后你们懂的...,如下图所示。

0x02 Ashx Webshell

中国菜刀Ashx马:
https://github.com/tennc/webshell/blob/master/caidao-shell/customize.ashx

0x03 stm/shtm/shtml

MVC4.0环境部署:

本地测试环境为Windows 2012 (IIS8.5),默认已经安装有.Net FrameWork 4.0,自己下载并安装ASP.NET MVC 4.0,将IIS中的“ISAPI和CGI限制”选项ASP.NET v4.0.0.30319设置为允许,最后在网站根目录下创建一个web.config配置文件即可,文件内容如下。

.Net FrameWork 4.0:https://www.microsoft.com/zh-CN/download/details.aspx?id=17851ASP.NET MVC 4.0:https://www.microsoft.com/zh-CN/download/details.aspx?id=30683

注意事项:

如果当前网站根目下没有web.config配置文件,或者没有指定.NET版本,在浏览器访问cmd.cshtml脚本时可能就会出现以下两种报错提示,如下图所示。

0x04 web.config Webshell

有时也会遇到那种不允许上传所有ASP/.NET脚本,或者Webshell上传成功但无法解析访问提示403等情况,这是因为上传目录下有个web.config配置文件禁止了脚本执行,我们可以随便输入一个ASP脚本文件名进行简单测试,无论这个文件是否真实存在都会提示403,如下图所示。

asp:.asp、.asa、.cer、.cdx、.htr、.cfm、.stm、.shtm、.shtml

aspx:.aspx、.asax、.ashx、.ashm、.asmx、.ascx、.svc、.soap、.cshtml

<?xml version="1.0" encoding="UTF-8"?><configuration>    <system.webServer>        <handlers accessPolicy="Read" />    </system.webServer></configuration>

针对以上两种情况的绕过需要具备这几个条件:

  • 1. 上传目录可控或者可通过../../跨目录将Webshell脚本上传到其他目录;

  • 2. 允许上传*.config扩展文件,并且上传的文件不会被自动命名(如:日期/时间戳等自动生成文件名,这种国内好像很少,之前国外挺多的,现在就不知道了)。


如果具备以上条件,就可以直接上传我们修改好的web.config配置文件来执行命令或上线CS/MSF等,可在web.config最后修改自己要执行的Webshell脚本内容,如下图所示。

0x05 Soap Webshell

实战项目案例一:

@on1_es 师傅在某项目中遇到的一个案例:.NET的站(任意文件上传),但在上传目录下有个web.config禁止了脚本执行,而且上传文件会自动命名,无法通过上传web.config方式绕过,如下图所示。

最后他是通过上传一个能正常解析的Sharp4SoapRootShell.soap脚本绕过了web.config禁止脚本执行限制成功拿到这个目标的Webshell权限,这里仅记录分享了下他的这个绕过方法,如下图所示。

实战项目案例二:

@Cek0ter 师傅遇到的另一个案例:.NET的站(任意文件上传),已成功上传一个ASPX马,但访问时会跳转到404页面,图片/文本又能正常访问,猜测也是web.config导致跳转到404页面,如下图所示。

最后他也是通过上传一个能正常解析的Sharp4SoapGodzlliav1.1.soap脚本绕过了web.config的重定向规则成功拿到这个目标的Webshell权限,这里仅记录分享了下他的这个绕过方法,如下图所示。

注:根据他的描述在传Sharp4SoapRootShell.soap时也会跳404,但Sharp4SoapGodzlliav1.1.soap这个又不跳,1个跳,1个不跳,这我是着实没太搞明白咋回事,等以后有空了再去单独研究下这个吧!!!

另外说一嘴在实战中遇到这种类似场景时还是得自己去测一下才知道具体是个什么情况。。。


阅读原文:https://mp.weixin.qq.com/s/lkm7CMd3FK1dtq7kMSV9rw


该文章在 2025/5/8 18:43:44 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved