日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
XSS攻擊進階篇——那些年我們看不懂的XSS

一、XSS概述

成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序定制開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十多年以來,已經(jīng)為成百上千成都辦公空間設(shè)計各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的成百上千客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。

注:因此沒有反射型XSS、存儲型XSS、DOM XSS這種分類,因為分類依據(jù)都不同…

XSS的實質(zhì)其實是HTML代碼與Javscript代碼的注入。但由于XSS的攻擊對象是與客戶對等的Browser端,因此常常不被開發(fā)者所重視。

一般意義上的XSS通??梢杂煤唵蔚姆椒z測出來:當用戶輸入中某個參數(shù)的全部或其中一部分,原封不動地在源代碼里出現(xiàn)時,我們就可以認為這個參數(shù)存在XSS漏洞。

我們可以在掃描器的幫助下鏟除絕大多數(shù)的常規(guī)XSS,因為掃描器所擅長的模式識別很容易從HTML代碼里找出自己剛剛輸入的東西…

直到某一天,出現(xiàn)了一類不會在源代碼中回顯的XSS…此時我們才意識到,原來XSS并不像想象中的那么簡單

二、文件對象模型簡介

2.1 DOM簡介

文檔對象模型(Document Object Model),即大名鼎鼎的DOM。

DOM可以被認為是一種通過將頁面元素以對象的樹形方式表現(xiàn),以便由Javascript組織處理的實現(xiàn)方法。

2.2 常用的DOM方法

用戶可通過 JavaScript (以及其他編程語言)對 HTML DOM 進行訪問。所有 HTML 元素被定義為對象,而編程接口則是對象方法和對象屬性。

2.3 四個重要的DOM屬性

nodeName 屬性:規(guī)定節(jié)點的名稱。

  • nodeName 是只讀的
  • 元素節(jié)點的 nodeName 與標簽名相同
  • 屬性節(jié)點的 nodeName 與屬性名相同
  • 文本節(jié)點的 nodeName 始終是 #text
  • 文檔節(jié)點的 nodeName 始終是 #document

nodeValue 屬性:規(guī)定節(jié)點的值。

  • 元素節(jié)點的 nodeValue 是 undefined 或 null
  • 文本節(jié)點的 nodeValue 是文本本身
  • 屬性節(jié)點的 nodeValue 是屬性值

nodeType 屬性:返回節(jié)點的類型。

  • nodeType 是只讀的。

innerHTML 屬性:獲取元素內(nèi)容,如:

即text的值為Hello World!

innerHTML可以被賦值,也可讀,因此是被引用次數(shù)最多的對象屬性,同時也是最容易產(chǎn)生安全問題的對象屬性。

2.4 輸入一般在哪里

Location 對象屬性

JS通常會通過調(diào)用DOM內(nèi)置對象location來獲得用戶輸入,如引用參數(shù)切分可使用location.search,引用完整URL可使用location.href等。

三、DOM base XSS

3.1 兩個典型的DOM過程

1)反射型DOM base XSS

2)存儲型DOM base XSS

3.2 需要了解的知識點

比起常規(guī)XSS,DOM base XSS的漏洞發(fā)現(xiàn)過程更像是代碼審計..

3.3 典型DOM base XSS實例

3.4 mxss

如果用戶輸入“出入”DOM兩次以上,則有可能觸發(fā)更高級別的DOM base XSS:mXSS

3.5 容易出現(xiàn)mXSS的場景

由于innerHTML會將HTML實體,CSS轉(zhuǎn)義字符,ANSI編碼等進行反轉(zhuǎn)義,因此原來被轉(zhuǎn)義之后認為安全的用戶輸入很有可能在繞過過濾器之后被反轉(zhuǎn)回去。

四、過濾器繞過

4.1 先來幾個栗子

常規(guī)XSS的過濾器繞過

4.2 過濾器繞過方法

一般意義上而言,DOM base XSS的首先要通過服務(wù)端的過濾器清洗一番,然后還要通過頁面加載的各個JS腳本,繞過難度相對較大…

編碼繞過:

我們要插入的代碼:

 
 
 
 
  1.  

HTML5特性:

4.3 XSS修復(fù)建議

(1)不含有富文本編輯器(自定義樣式)且沒有使用DOM的站點:

  • 輸入:過濾雙引號,單引號,左右尖括號,分號。
  • 輸出:對上述字符進行HTML實體編碼即可。

(2)不含有富文本編輯器(自定義樣式)但使用DOM的站點:

  • 輸入:在DOM中轉(zhuǎn)義雙引號,單引號,左右尖括號,分號。
  • 輸出:在輸出之前進行編碼,如:innerHTML=encodeHTML(output)

(3)含有富文本編輯器(自定義樣式)但沒有使用DOM的站點:

  • 輸入:過濾雙引號,單引號,分號。
  • 輸出:對上述字符進行HTML實體編碼即可。

(4)含有富文本編輯器(自定義樣式)且使用DOM的站點:

  • 沒辦法…指哪兒修哪兒…

五、學(xué)習(xí)資料

  • http://sandbox.host.smartgslb.com
  • http://html5sec.org/
  • http://drops.wooyun.org/tips/956
  • http://www.w3school.com.cn/
  • http://www.slideshare.net/x00mario/the-innerhtml-apocalypse
  • http://app.baidu.com/app/enter?appid=280383

當前文章:XSS攻擊進階篇——那些年我們看不懂的XSS
文章轉(zhuǎn)載:http://m.5511xx.com/article/ccchgdd.html