我们都知道,在http(s)协议中,content-type经常会被用来告知服务端应该怎么去参数化处理这个请求Body,不同的处理方式可能有不同的漏洞。就目前而言,金融业大多数使用的是json格式传参数body,但这并不意味着服务端只能处理json格式的数据,因为一个接口可能被多个端请求,比如后端服务端或者pos机传递的时候通常会使用xml格式。
最近的一个金融业测试项目,发现参数是json格式的,因为之前看过类似的测试思路就想着死马当活马医,然后直接使用Burpsuite插件将json修改为xml
上面这种转换会导致服务端报错xml参数化失败,然后又通过大模型转化成如下结构,服务端成功处理这个请求并返回正常的数据
既然支持xml,那么我们常见的几种测试方法就可以上场了。首先是xxe漏洞
金融业的waf其实挺好绕过的,直接绕过成功捕获一个xxe漏洞,高危到手。如果文件读取没法做到可以试试别的,如dos(当然提前和客户沟通好)
目前没找到很好的工具,只能通过现有的burpsuite插件,所以需要把常见的xml库报错集成到hae中命中
1.https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/XXE%20Injection/README.md#xxe-on-json-endpoints
2.https://chetan-conikee.medium.com/detecting-chained-xxe-xml-external-entity-to-dos-denial-of-service-or-ssrf-server-side-d13df22001c7
3.https://www.netspi.com/blog/technical-blog/web-application-pentesting/playing-content-type-xxe-json-endpoints/
原文始发于微信公众号(安全边角料):金融业“隐藏content-type”漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/3876187.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论