學習xss模擬構造攻擊(第一篇)


 

本文作者:i春秋簽約作家——rosectow

0×00前言

XSS又名叫CSS全程(cross site scriptting),中文名跨站腳本攻擊,目前網站的常見漏洞之一,它的危害沒有像上傳漏洞,sql注入,命令執行,這種危害性極高的漏洞一樣,但是大致xss與上面講的這些漏洞不一樣它是需要去被動式來完成攻擊的,攻擊者需要讓管理員,用戶等來配合完成攻擊,xss它有三種語言編寫,我們常見的是JavaScript ,比較少見的actionscript,VBScript,它們都是可以在html的標簽中執行的。

反射型的xss它是儲存時間很短,在html的頁面代碼中,一但攻擊者在網站植入反射型xss然后用戶訪問了就會被盜取cookie等等,存儲型的xss是比較危險的一種xss,一般存儲在網站保留用戶數據的地方,一當用戶訪問就觸發了攻擊,dom型的xss先對也是比較隱蔽的,一般常見在url的get請求,這幾種xss危害性最大的肯定就是存儲型xss。

Xss通常分為三種類型,第一種是存儲型xss,第二種是反射型xss,第三種是dom型xss。

Xss能做到的有盜取管理員,用戶的cookie,url跳轉,常用到的是盜取cookie,盜取到了管理員cookie那么我們也就可以登錄管理員的賬號了,那么這也就誇大了權限。

0×01構造攻擊

1.jpg

 

在網站中很明顯我們的JavaScript代碼已經被存進去了,但是為什么沒有彈窗呢?問題在於標簽下面對該頁面body內的標簽查看,在跟蹤情況。

這里已經將我們的JavaScript標簽的alert(“xss”)過濾了,變成了無效的語句,<script>標簽它還是亮着的,所以它是已經添加到代碼里面去了

2.jpg

標簽中只要<>xss<>內容不加入到標簽里面它就會解析成文本內容,那么這時候就要更具其它的標簽模仿構造,

<script href=&quot;alert(123)&quot;>xss</script>

變成這樣,href是一個超級文本引用的標簽,所以在這里這樣構造測試,主要我們的彈窗已經加入到標簽內

3.jpg

這次里面的內容都亮了,但是它還是不會彈窗,因為剛剛使用了href,href是一個超級文本引用標簽,彈窗語句在里面就變成一個鏈接,重新來一次構造有效負載

換成了這樣的一個code,onmouseover是鼠標移動事件 anytag任何標簽,這樣構造然后在測試

4.jpg

這樣一來鼠標移動到xss的位置,就自動彈出123的提示框,當然這也只能彈出自己的cookie,客服需要去點擊也才能看到cookie,這種基本就已經沒有作用了下面再來換一種方法來構造過濾問題。

0×02 過濾模擬構造攻擊

5.jpg

看到了我們的JavaScript語句已經給過濾了,正常的&lt;script&gt;&lt;/script&gt;標簽以及帶有攻擊性的都是沒辦法成功載入的,我們的目的是達到彈窗或者獲取cookie類

6.jpg

構造payload

結果我的class 跟 alert 都被過濾了,在一次構造,跟蹤一下它的代碼,一下是跟蹤代碼的一些問題以及它的過濾問題。

7.jpg

This.$obj.$chatCtnId.append(This.customHtml(This.replaceFace(This.xssWhiteList(filterXSS(question)))));

跟蹤到這里對我的payload進行了過濾,在一次最終它的過程,分析看看能找到什么有效的繞過

8.jpg

跟蹤到了網站對xss多種轉義過濾,我利用了多種編碼特殊字符都無法繞過,這也太強了吧!

繼續測試,多種樣式的測試,主要考慮到代碼中添加了多個名單,以及對敏感字符的過濾本接下來在一次構造payload,我多次構造,但是依然給過濾,無論是字符編碼類的都無效,心累一天,最后我構造了一條這樣的payload

<a href=&quot;#javascript:alert(&#39;xss&#39;)&quot;>xss</a>

9.jpg

為撒它把我的符號過濾了每次它過濾都是直接吃了我的符號,這時候我也是悶逼了然后彈了一下,但是過程的確挺麻煩的到最后發現這樣饒了

正常它的代碼中可以構造正常可用的payload

都是可以不會遭到過濾的。

閱讀原文↙↙↙↙


免責聲明!

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



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