XSS學習之以關點面 1~5關
這幾天一直在學習 XSS ,但是發現,如果想深入的 XSS 的話,還是得回歸代碼學習,常見的HTML 和 JavaScript 這個必須會,當然 CSS 樣式,asp ,PHP , jsp 這些編程如果會的話,也會對自己以後的代碼審計,查找漏洞提供很大的方便。
但是我代碼審計的話,我等我這些前期知識和內網這些都匯總完了,我再開始回歸編程,進行深入的學習。
但是,如果像我這個對 HTML 和 JavaScript 不咋精通的,雜搞了?前期學習,只能以洞點面,靠經驗摸索,所以我就把這個 XSS 關卡,進行學習式的記錄,達到以洞點面。本文就先記錄 1~5 關。
首先,我們打開關卡的首頁。

然後進入第一關的頁面。

<script>alert(shiyan)</script>
然後我們開始測試下。

那我們繼續來到第二關。

常規的,我先測試下我的普通的 <script>alert(XSS)</script> 測試代碼。


先把這段代碼複製到本地文本里,然後看著文本,我們構造閉合語句。


然後,我們來到第3關。



我先試下常規的閉合看看,估計不成功,因為看著被轉義了。


然後,我選了幾個不需要 <>這個事件性的。
恩,還得 這個是沒有被過濾的,我們可以用 來閉合這個標籤。
對了,我先貼一下 這個 value 這個標籤是啥意思吧。


然後我們測試下。

那我們來看下彈窗後的源代碼,看看這個是如何彈出來的。

然後我們繼續來到第四關。



來,先構造下語句。


那我們繼續走下一關吧。



經過我多次測試,這個是在我提交後,自動添加的 _ 的。
然後我開始測試,到底是什麼情況下,才會觸發這個加 _ 這個下滑線的。


繼續測試。

我把後面的尖括弧去掉,發現還是出現 _ 這個下劃線。
繼續測試。

然後我們再測試一波大小寫。

那麼,我們知道問題的原因了,開始構造繞過吧。。。
首先這個 <script> 肯定會被加下滑線的,那我們不用這個來彈窗不就行了?
我們用這個 <iframe src=javascript:alert(xss)></iframe> 來測試下吧,反正沒有
<script> 這個標籤,我們直接用這個內框口直接測試下看看得了。


不符合標準,那我們繼續換個 xss 代碼吧。
最後選了半天,選個這個吧。




總結:
XSS的方法又很多種,只要能讓其頁面輸入輸出的,基本上只要過濾的少的,一般都可以繞過去,但是原理性的,還是的深入 html 和 javascript 這個才行,要不好多標籤,你不懂啥意思,你也自己不會用。
---------------------------------------------------------------------------------
這個 XSS 20關的源碼,如果誰想玩的話,建議用 xampp 這個來搭建環境。
鏈接: http://pan.baidu.com/s/1pKCb9B9 密碼: 3cqm
-----------------------------------------------------------------------------------
推薦閱讀:
※Ecma TC39 規範提議 - Literals in script
※白帽子挖洞—跨站腳本攻擊(XSS)篇
※淺析圖片XSS中的哪些技術問題
※好書一起讀(147):XSS,CSRF,SQL注入
※「每日一題」XSS 是什麼?
