Redian新闻
>
头疼的上传绕过waf

头疼的上传绕过waf

科技


1.前言

朋友前几天发来个地址,让一块儿给看一下。。于是就有了这一次苦逼的测试经历。。

2.初步探测

朋友说只有这一个地址可以碰,其他的别动。。大体看了一下,是一个什么自来水的公司的平台。心想:像这样的公司,其实还是比较好做的,资产比较少,也没什么防护。直到后面才发现,脸都被抽肿了。

比较幸运的是,没有验证码,可爆破。既然能提示,那就爆破试试吧。。看运气

既然是MD5加密,那就直接跑跑看,top500直接show hand

比较幸运,进来了。

因为不知道具体框架是什么,所以只能找慢慢找漏洞点,不过总算是进来了。

3.尝试利用

后台嘛,一开始想的就是最直接的方式还是上传。。最开始找到了头像的位置,想看看能不能直接上传,发现是可以的。

看到回显后感觉还能再尝试一下,编码cb65a4a0-b3e0-4a16-8dca-188222dc4f10 这样的值在测试里很常见,虽然这图片的显示方式是以DownloadFile?filed=encode进行,但文件落地还是在某些目录下,最开始以为这就是文件名,于是尝试一下常见目录,然而并没什么用。

此路不通,只能再找找看其他地方,兜兜转转找到了一个资料上传的地方,测试发现是可上传内容的

本以为获取列表、下载的时候会有路径,结果看到数据包后。脑子都大了

再找找其他地方呗

数据表管理。。本以为进闺房得撬锁,结果门是透明的。。这多尴尬。

既然是数据库,那么网站内容在数据库中都能找到具体位置。翻翻看,万一呢。。

PS:这里有个数据库备份功能,别问我为啥不动。。。我只想说:外面的世界很精彩。

翻了一会儿,果然跟我之前猜测的一样,文件确实落地在服务器的某个位置。

这的数据构造比较有意思,固定目录/Resource/DocumentFile/+/encode1/+/time/+/encode2+后缀/

这样看,前面的都比较好猜测,其中encode1=CreateUserIdtime=年月日,麻烦的是encode2不知道是啥算法。。改天再瞧瞧。

既然路径有了剩下的就是上传内容了。

4.痛苦

本以为就这么结束了,没想到这仅仅是个开始。

起初在上传的时候,非常规后缀是可以上传的,就上图的.a,.p后缀。但真要上传脚本后缀的时,发现存在防护,而且防护相当严苛,而且不清楚具体是什么防护。不过,不幸中的万幸是,这个平台是部署在windows上的。。

4.1.Content-Dispositions上的尝试

我们在尝试进行绕过时,对Content-Disposition的改造是永远不会缺席滴。这次也不意外

大小写done

超长字符串done

windows下对于文件的命名有些要求,禁止使用下列符号:“?”、“、”、“/”、“_”、“*”、“<”、“>”、“|”,猜测在服务器写入时开发者可能没没有考虑这样的问题。。结果不出意外,done

更改filename的边界,让防护匹配不到呢?又done

多次使用filename?又又done

篇幅有限,以上仅仅是绕过的一小部分,后面还尝试过双文件构造、参数间添加特殊字符、位置变换、多写等等等等等等种方法。均以失败告终。

4.2.重新构造

既然文件上传中Content-Dispositions尝试了这么多,都以失败告终,那么还有没有其他位置可以利用?答案是有的。

曾经看到过《从commons-fileupload源码看文件上传绕waf》,文末提到了dotnet也有这种问题,而此时环境就是donet,于是就找了一下donet的资料。之前大佬的研究

资料显示boundary的处理存在一些问题,分号逗号和等于号作为分隔符,并根据字符集忽略一些空白字符,form-data字段可以不要,可以随便在filenamename前随意填充字段,但是filenamename后必须跟随等号,并且末尾有分号标识结束。

于是构造的思路一下子就拓宽了。大致思路有以下几种:

Content-Disposition:\u0;;;;!@#$%^&*(;asdas\u0085d;085filename=11.aspx
Content-Disposition:filename=11.aspx
Content-Disposition:aaaaaaaaaaafilename=11.aspx;aaaaaaaaa
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary3ah8K0kGYGlF1wE4
Content-Type: multipart/form-data; boundary =  ----WebKitFormBoundary3ah8K0kGYGlF1wE4
Content-Type: multipart/form-dataas,;,;;;;;; boundary=----WebKitFormBoundary3ah8K0kGYGlF1wE4
Content-Type: multipart/form-data\u0085,;;,,,,,;;, boundary =   WebKitFormBoundary3ah8K0kGYGlF1wE4

于是重新构造

done

又done

经历了N多不知道多少次失败的尝试之后,终于还是是成功了。。。

最终的格式如下:

Content-Type: multipart/form-data\u0085,;,,,,; boundary = ----WebKitFormBoundary3ah8K0kGYGlF1wE4

Content-Disposition: \u0;;;;!@#$%^&*(;asdas\u008name="file"; filename==test.asp
Content-Type: !!!

最后也是开心交shell

5.后记

针对文件上传是存在规范的例如:

  • • 基于表单的文件上传: RFC1867

  • • multipart/form-data: RFC7578

  • • Multipart Media Type: RFC2046#section-5.1

而各个语言对于规范的遵守就不一定了,waf的匹配也是存在缺陷的,两者相结合,就给我们绕过提供了空间。

绕过waf这东西就是个体力活,多试试,万一呢是吧

往期推荐

敏感信息泄露

潮影在线免杀平台上线了

自动化渗透测试工具开发实践

【红蓝对抗】利用CS进行内网横向

一个Go版(更强大)的TideFinger

SRC资产导航监测平台Tsrc上线了

新潮信息-Tide安全团队2022年度总结

记一次实战攻防(打点-Edr-内网-横向-Vcenter)

E

N

D


知识星球产品及服务

团队内部平台:潮汐在线指纹识别平台 | 潮听漏洞情报平台 | 潮巡资产管理与威胁监测平台 | 潮汐网络空间资产测绘 | 潮声漏洞检测平台 | 在线免杀平台 | CTF练习平台 | 物联网固件检测平台 | SRC资产监控平台  | ......


星球分享方向:Web安全 | 红蓝对抗 | 移动安全 | 应急响应 | 工控安全 | 物联网安全 | 密码学 | 人工智能 | ctf 等方面的沟通及分享


星球知识wiki:红蓝对抗 | 漏洞武器库 | 远控免杀 | 移动安全 | 物联网安全 | 代码审计 | CTF | 工控安全 | 应急响应 | 人工智能 | 密码学 | CobaltStrike | 安全测试用例 | ......


星球网盘资料:安全法律法规 | 安全认证资料 | 代码审计 | 渗透安全工具 | 工控安全工具 | 移动安全工具 | 物联网安全 | 其它安全文库合辑  | ......

扫码加入一起学习吧~

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
有个妈妈亲手掐死女儿,却成了女法医最心疼的凶手 | 女法医柳二两03纳税人现可上传更多文件至美国国税局;新的在线选项适用于9种通知,可更快解决问题五一后,全国都在咽喉炎?除了“二阳”,更应警惕……(附嗓子疼的4个缓解办法)肩颈总酸疼的我终于找到能续命的了,用完整个肩背更松快不僵硬(明10点开团)验证码缺失/绕过禽兽!澳洲祖母性虐2岁亲生孙女!还拍视频上传TikTok!看完三观都炸裂了!妙哉!第二次绕过chase 524申请到了史高ink!【小枇杷电台】童话+童画:一次牙疼的经历硬核观察 #933 野外发现第一个绕过安全启动的 UEFI 恶意软件从老师头疼的学生到全A报恩娃,我家女儿转学后迎来了“整容式成长”……120年历史的庐江中学,血性少年上台夺话筒:啪啪扇疼的不止陈教授的脸看视频涨知识|为什么“鼻窦”发炎疼的是头、眼和牙?美国纽黑文(New Haven),街头随拍小升初后回头看:最头疼的几何,一句口诀就帮娃开窍了那个夺话筒的少年,啪啪扇疼的不止陈教授的脸绕过服装设计的“卷王”!这些赛道也能让你冲入时尚圈!改变世界的十位天才艺术家李梦被曝更多不雅照!中国女篮丑闻事件,我最心疼的人是姚明这大概是打工人最头疼的工作疫情刚散,经济又衰退,法拉盛八大道华人最头疼的难题,是时候彻底解决了...全网心疼的“丫丫”下周回国?有人要掏100万认养!渔歌子(2):频繁起落瞬间离纳米压印光刻,能让国产绕过ASML吗?顾月华: 我的朋友木心和陈丹青外媒爆:美国想这样绕过日本的限制买炸药?!XSS绕过小思路庐江中学事件:夺话筒的少年,啪啪扇疼的不止陈教授的脸中国武器库又多一个让美国头疼的厉害武器!绕过“卷王”服装设计!这些赛道也能让你上岸时尚名校!绕过千篇一律,留住独特的爱 | 人间日签我工资3000,下班兼职“海外拼多多”月入过w:后悔知道的太晚!马克龙绕过立法者,强行通过64岁退休方案生活琐记:元宵节周末的欢聚很多男人出门头疼的事,可以解决了绕过认证的五种方式
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。