Xss 學習(三)之dom

一、什麼是dom?

  • DOM 是 W3C(萬維網聯盟)的標準。
  • DOM 定義了訪問 HTML 和 XML 文檔的標準:
<span style="font-size:18px;">W3C 文檔對象模型 (DOM) 是中立於平臺和語言的接口,它允許程序和腳本動態地訪問和更新文檔的內容、結構和樣式。</span>

二、W3C DOM 包括三個部分:

  •    核心DOM: 針對任何結構化文檔的標準模型;
  •    XML DOM:針對 XML 文檔的標準模型;
  •    HTML DOM :針對 HTML 文檔的標準模型;
注:XML 指可擴展標記語言(eXtensible Markup Language), 被設計用來傳輸和存儲數據。
三、Xss測試示例
測試網址:http://xsst.sinaapp.com/example/1-3.htm?url=./iframe.htm

如果我把
url=./iframe.htm 改爲 http://blog.csdn.net/praifire 
會怎麼樣呢?

當 iframe 的 src 被設置爲 javascript:腳本代碼 的時候,腳本代碼將會被執行。
這樣一來,我們可以利用這個技巧,將地址改爲以下:
http://xsst.sinaapp.com/example/1-3.htm?url=javascript:alert(document.cookie)
總結一下這個XSS的特點:
1. 利用代碼也是在地址欄裏輸入,
2. 在JS裏,通過location.search得到地址裏的代碼,類似的還有:
 A.location.href : 地址欄裏的地址,
 B.location.hash: 地址欄裏#及其之後的內容,
 C.document.referrer: 當前頁面的源(比如你從A.com點一個鏈接進入了B.com,那麼B.com裏的document.referrer等於A.com)
3.  通過JS設置了iframe的src屬性,這是一個典型的通過JS操作屬性而導致的XSS。

四、查找此類漏洞時,通常以下步驟:
1. 以location爲關鍵詞進行查找,
2. 進而看location傳入的參數是否被過濾後再進行使用。
3. 如有未過濾而被調用的情況,則考慮如何構造利用代碼。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章