文件上传由中危变高危的思路分享

admin 2024年3月4日08:02:44评论20 views字数 960阅读3分12秒阅读模式

本文首发 Web 安全社区:https://web.sqlsec.com/thread/289 转载请注明出处!

场景介绍

下面这种图片上传场景经常存在接口未授权且无后缀限制的情况:

安服仔水洞小姿势 - 文件上传由中危变高危的思路分享

成功访问页面可以正常解析我们上传的 HTML 里面的元素:

安服仔水洞小姿势 - 文件上传由中危变高危的思路分享

心急的师傅到这一步就点到为止,写一个中危漏洞报告草草提交了给甲方爸爸完事。

安服仔水洞小姿势 - 文件上传由中危变高危的思路分享

常规测试

仔细观察上传的 HTML 后缀文件就在网站当前的域名下面,因为 HTML 里面可以插入 JavaScript 代码,所以常规思路就是利用浏览器的同源特性,直接在网站内构造存储 XSS 的 HTML 页面,然后直接进行钓鱼拿到其用户的关键认证信息,这个思路是可行的,虽然利用繁琐了一点,但是确实存在这种安全风险。

PS:HTML 后缀的文件上传都对象存储服务器下,如果没有配置  OSS  域名的白名单的话,利用 XSS 来窃取用户认证信息的思路大概率行不通。

深入测试

红队的师傅一般还会进一步尝试试试看能不能直接传 shell ,传 shell 前先进行简单的指纹识别来看看网站的语言信息:

安服仔水洞小姿势 - 文件上传由中危变高危的思路分享

当发现是 Java 编程语言的话,肯定少不了上传 JSP 和 JSPX 的 shell,可惜事与愿违,并不能解析:

安服仔水洞小姿势 - 文件上传由中危变高危的思路分享

细心的师傅肯定又发现我们可以控制上传的目录:

安服仔水洞小姿势 - 文件上传由中危变高危的思路分享

运气好的师傅将上传的文件写入到其他目录下,比如直接上传到网站的根目录下,这样很有可能会让我们上传的 shell 直接解析,至此高危漏洞到手!

奇技淫巧

虽然上面的深入测试很大概率可以拿到高危漏洞,但是运气成分还是有一点的,并不是谁都有这么好的运气。下面我们仔细分析整理一下手里的线索:

  1. 上传接口未授权,可以直接任意身份会话来上传文件
  2. 上传图片的接口没有做白名单校验,导致可以上传任意后缀的文件,其中 HTML 后缀的文件还会直接解析

再结合我们中国的国情,如果遇到这种情况,甲方爸爸所处的行业又是国企性质的,比如政府单位、金融单位等,这种情况下只要满足这两个条件就可以直接将漏洞级别从「中危」变成「高危」,这是因为:

安服仔水洞小姿势 - 文件上传由中危变高危的思路分享

这些单位非常重视舆情,而 HTML 可以很灵活的显示各种页面,做页面跳转页面挂马直接挂不当的政治舆情言论,这对这种性质的单位的影响来说是非常严重的,大领导都会比较重视这些,所以师傅们日后挖洞如果满足上述条件的话,就放心大胆的水高危漏洞吧:

安服仔水洞小姿势 - 文件上传由中危变高危的思路分享


原文始发于微信公众号(安全小姿势):安服仔水洞小姿势 - 文件上传由中危变高危的思路分享

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月4日08:02:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   文件上传由中危变高危的思路分享http://cn-sec.com/archives/2093278.html

发表评论

匿名网友 填写信息