標籤:

仿:Pentester中的XSS詳解

除了SQL注入外,還有一個常見的漏洞就是XSS了,我花一下午的時間,把國光大神昨天總結這個 Pentester中的XSS給好好的看了一遍又一遍,真TM太詳細了,至少對於我來說是太詳細了,不過看了歸看了,但是只有自己按著步子走一走,再歸納歸納,這個才能吸收成自己的本事,如果要是關看的話,或者就簡單的測試了一下,那遲早還是會忘了,所以就有了我想總結的這個文章。

正如標題一樣,我要全仿他的文章,話說我也沒和他打招呼,,不知道他看到我這個全仿的會不會對我全給XSS個遍?

不扯了,我要開始仿了!!!!

全部模仿的第一步:

關於靶機搭建參考這篇文章:滲透測試靶機的搭建 。

同時以後和漏洞挖掘相關的文章我也會在:國光的漏洞挖掘記錄博客 同步發表的。

# 好了,模仿的第一步完成,開始繼續模仿。。。

額,模仿之前,我先自己先搭建下環境,要不我這個就不算是全部模仿了,就直接成照抄copy了,這樣 就沒意思了。。我自己也記不住,理解不了。。。

完美環境搭建了,然後開始仿。。。

額,然後我們進入第一關。。。

我在輸入處,輸入了 shiyan,然後頁面也返回 shiyan 。

然後,我們按著國光大神的腳步走,看下源代碼。。。

確實如大神所說,沒有過濾,直接輸出。

那我們就直接搞 <script>alert(shiyan)</script> ,這個xss吧。。。

成功的彈窗了。。。

然後我們繼續搞第二關嗎? 不搞,跟隨我大神的腳步,先總結總結,都有哪些 xss代碼 ,了解機制,學會繞過,啊呸!是學會攻防!!!學會攻防!我們可是搞信安的!我們是白帽子!

好了開始總結歸納。

有很多的標籤裡面都可以調用HTML的事件屬性來彈窗,為了節約時間,下面我就列舉出一些比較常用的手法。

這句話感覺是在謙虛,,,估計是收集資料時就收集了這幾個,但是就是這幾個,我就已經很漲姿勢了。O(∩_∩)O~~

1.1.0 利用基本的script標籤來彈窗。

就是用 script 標籤用於定義客戶端腳本,比如 JavaScript。

1.1.1 效果圖:

額,這個是個偽命題。。。。

但是我不介意,大家當成不是偽的命題。 #(手動滑稽...)

1.2. 利用iframe標籤的的src屬性來彈窗。

1.2.1 Code

<iframe src=javascript:alert(xss)></iframe>n

1.2.2 啥意思?

iframe 元素會創建包含另外一個文檔的內聯框架(即行內框架)。

# 還是看圖吧,文字有點不好理解 = = 、

1.2.3 效果圖:

看來還是看圖好,一看就懂。。。

內部包含一個框架,但是為啥能彈窗了?

我了個擦,百度了半天,沒找見答案,最後我再看了一下代碼我好像瞬間懂了。。。

來,看下頁面源代碼。

iframe 是一個內框,然後 src後面是顯示的內容,那我們輸入一個 javascript:alert(xss) 這輸出xss的代碼,這樣不就形成一個彈框了啊?

看來還是實踐一遍,才能自己掌握啊。。。

1.3. 利用標籤的href屬性來彈窗

1.3.1 啥意思。。。國光dalao竟然不寫。。。那我自己查吧。。。

<a> 標籤的 href 屬性用於指定超鏈接目標的 URL。

href 屬性的值可以是任何有效文檔的相對或絕對 URL,包括片段標識符和 JavaScript 代碼段。如果用戶選擇了 <a> n標籤中的內容,那麼瀏覽器會嘗試檢索並顯示 href 屬性指定的 URL 所表示的文檔,或者執行 JavaScript 表達式、方法和函數的列表。

#我看出來了,,,,超鏈接的意思啊。。。。虧我還是玩過一兩天 HTML ,額,一兩天確實不能說學會。。。 = = 、

1.3.2 Code

<a href=javascript:alert(XSS)>shiyan</a>n

我們把 shiyan 這個字母超鏈接到 javascript:alert(XSS) 這個彈窗里。。

#看來他說了,只是我沒仔細看。。。。

效果和瀏覽器直接打開這個地址:javascript:alert(xss)是一樣的

n這裡還可以使用:javascript:alert(document.cookie) 來彈出當前會話的cookie。

# 我試試先。。。。

確實,我再試試下一句的。。。

1.3.3 定義和用法

標籤定義超鏈接,用於從一張頁面鏈接到另一張頁面。

n元素最重要的屬性是 href 屬性,它指示鏈接的目標。

n指向這個專欄的一個例子。

<a href="https://zhuanlan.zhihu.com/shiyan」>滲透·筆記</a>n

# 我這裡改成這專欄的這個,國光大神不會打我把。。。。。求輕打。。。。

1.3.4 效果圖

# 我的擦知乎好強大。。。專欄除了界面整潔外,還支持 GIF 圖片。。。

# 複查一遍,還是不強大。。。

# GIF 地址:7xv7pe.com1.z0.glb.clouddn.com

1.4. 利用標籤來彈窗。

1.4.1. Code

<img src=1 onerror=alert(xss)>n

src 後面的參數是圖片地址,然後為了方便測試,我們把它弄成 1,也就是錯誤的值,然後才能觸發 onerror 事件(遇到錯誤 就觸發)。。。

# 有點暈了。。。

# 我再好好看看,我自己再試試,好好理解理解。。。

好像懂了點了,,,,

國光大神: 當然如果在src裡面填寫一個正常的URL的話,就不會彈窗的了,因為onerror的觸發條件是得報錯。

不多說,來試一下。。。

我去,還真的是。。。

國光大神:當src後面的值是正確的時候呢,這個還可以用 oneclick 事件來觸發彈窗。

# 我還是用淺一點的顏色吧,低調一點。。。。

<img src=http://http://www.sqlsec.com/favicon.ico onclick=alert(xss)>n

這裡不論src後面的值 是否正確,只要滑鼠點擊,就會觸發 彈窗事件。

果斷直接上員GIF的圖,我這個不仿!!!我是好人!!!

# 話說我沒有現成的GIF錄製工具。。。。 虛!!!

# 不強大,差評!GIF地址:7xv7pe.com1.z0.glb.clouddn.com

我的實例:

類似onerror和onclick的事件有很多種下面。

1.4.2. 列舉出常見的事件

1.4.2.1.Windows事件屬性

事件 n作用

onerror 在錯誤發生時運行的腳本

onload 頁面結束載入之後觸發

1.4.2.2.Keyboard 事件

事件 n作用

onkeydown 在用戶按下按鍵時觸發

onkeypress 在用戶敲擊按鈕時觸發

onkeyup 當用戶釋放按鍵時觸發

1.4.2.3.滑鼠(Mouse)事件

事件 n作用

onclick 元素上發生滑鼠點擊時觸發

onmousedown 當元素上按下滑鼠按鈕時觸發

onmousemove 當滑鼠指針移動到元素上時觸發。

onmouseover 當滑鼠指針移動到元素上時觸

onmouseout 當滑鼠指針移出元素時觸發

onmouseup 當在元素上釋放滑鼠按鈕時觸發

1.4.3.定義和用法

img 元素向網頁中嵌入一幅圖像。

n請注意,從技術上講 標籤並不會在網頁中插入圖像,而是從網頁上鏈接圖像。 標籤創建的是被引用圖像的佔位空間。

標籤有兩個必需的屬性:src 屬性 和 alt 屬性

凡是支持事件的HTML標籤都是可以彈窗的,在HTML中支持事件屬性的標籤很多,下面我就

1.5.列舉出一些支持事件的HTML常見標籤

我擦,我一個仿的,還真一個一個的複製啊。。。。。

直接截圖。。。。。

# 大神別打我。。。。。。

第一題因為沒有任何的過濾,所以理論上支持調用HTML事件屬性的標籤都是可以成功彈窗的,下面來個。

1.6.綜合點的 Code

http://10.211.55.16/xss/example1.php?name=<button type="button" onclick=alert(xss)>通過按鈕點擊觸發xss</button> <font size="4" color="blue" onmouseover=alert(xss)> 移動到元素觸發xss </font> <br>nnn<select> <option onclick=alert(x)>onclick點擊觸發事件</option> <option values=1 onmousedown=alert(ss)>onmousedown觸發</option></select> <a href=javascript:alert(xss)>利用a標籤的href屬性觸發</a> <br>nnn<textarea placeholder=國光的xss測試:鍵盤按鍵觸發xss onkeypress=alert(xss)></textarea>n

# 繼續不強大,GIF地址:7xv7pe.com1.z0.glb.clouddn.com

然後繼續我的實例。。。

先張貼複製一遍,算是搭建環境吧,畢竟我比較懶 = = !!!

然後我開始,一個一個的玩。。。

為了方便好認,我就把彈出的彈框換成 1,2,3,4,5 這類的數字。

然後第二個,通過按鈕點擊觸發 xss 。

第三個,onclick點擊觸發事件。

好玩!再來 onmousedown觸發 ,這一個。。

再來 "利用a標籤的href屬性觸發 " 這個。。。

再玩玩,最後那一個。。。。。

好了,差不多了,我繼續跟隨上腳步,開始玩第二關!!!

額,沒有彈出來。。。那我切換大小寫再試試。。。

好的,成功了,我們繼續打第三關!!!

然後不管用。。。。。

我再看看國光大神是咋過的這關。。。。

他是先測試這關是過濾了什麼。。。

然後,可以判斷出,過濾了 <script>和</script>。

然後開始構造。。。

<scr<script>ipt>alert(shiyan)</scr</script>ipt>

當把裡面的<script>和</script> 一過濾掉,不就剩下這個xss了啊?

厲害。。。。

然後繼續第四關!

這個方法又不行了,直接顯示錯誤了。。。

然後,我按著我上面學到的技巧,看看都過濾了什麼,肯定我 <script>和</script>

是不會直接測試的,要不又該顯示錯誤了,所以我們看看都過濾了其他的沒。

我擦。。。真的沒辦法了,,,,不對,我試試偽javascript協議,看看。

好吧,不行。。。。

我看看國光咋過的。。。。。

<img src=1 onerror=alert(xss)>

他用的標籤過的,,,,我試試看。。。

好吧,還是我比較菜。。。。。

繼續第五關!!!

額,,,,有卡住了。。。。

然後我換其他標籤試試。。。。

我再換個。。。。

算了,,,我再看看大神雜過的吧。。。。

好吧,編碼繞過。。。。。

看來,我對xss的技巧,還是菜的不行啊 = = !

繼續第6關!!!什麼

什麼意思?我查看下,源代碼。。。

好吧,經過我多次的測試,閉合失敗。。。。繼續看教程。。。。

我看下源代碼。。。。

額。。。。。

我了個擦了!!!! 不搞了!!!!!

才第六關,我就過不下去了。。。。。

菜的我自己都無法可忍。。。。。。。看來我得好好研究xss了,,,,虧我還是看了好幾遍的。。。。。。

---------------------------------------------------------------------------------------

博客地址:國光 - 朔回從之.道阻且長.

----------------------------------------------------------------------------------------------

不搞了,睡覺了。。。。。太菜了我,,,,
推薦閱讀:

XSS 攻擊有哪些黑魔法?
記一次沒什麼技術含量的XSS注入
XSS 攻擊時怎麼繞過 htmlspecialchars 函數呢?
教大家如何找XSS漏洞並且利用

TAG:XSS |