仿: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 啥意思?
# 還是看圖吧,文字有點不好理解 = = 、
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。# 我試試先。。。。

<a href="https://zhuanlan.zhihu.com/shiyan」>滲透·筆記</a>n
# 我這裡改成這專欄的這個,國光大神不會打我把。。。。。求輕打。。。。
1.3.4 效果圖
# 我的擦,知乎好強大。。。專欄除了界面整潔外,還支持 GIF 圖片。。。
# 複查一遍,還是不強大。。。
# GIF 地址:http://7xv7pe.com1.z0.glb.clouddn.com/gif.gif
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地址:http://7xv7pe.com1.z0.glb.clouddn.com/xssg2.gif
我的實例:

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地址:http://7xv7pe.com1.z0.glb.clouddn.com/xssGIF.gif
然後繼續我的實例。。。
先張貼複製一遍,算是搭建環境吧,畢竟我比較懶 = = !!!

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









我再看看國光大神是咋過的這關。。。。
他是先測試這關是過濾了什麼。。。

然後開始構造。。。

當把裡面的<script>和</script> 一過濾掉,不就剩下這個xss了啊?
厲害。。。。
然後繼續第四關!

然後,我按著我上面學到的技巧,看看都過濾了什麼,肯定我 <script>和</script>
是不會直接測試的,要不又該顯示錯誤了,所以我們看看都過濾了其他的沒。


我看看國光咋過的。。。。。
<img src=1 onerror=alert(xss)>他用的標籤過的,,,,我試試看。。。









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