標籤:

XSS學習之以關點面 1~5關

這幾天一直在學習 XSS ,但是發現,如果想深入的 XSS 的話,還是得回歸代碼學習,常見的HTML 和 JavaScript 這個必須會,當然 CSS 樣式,asp ,PHP , jsp 這些編程如果會的話,也會對自己以後的代碼審計,查找漏洞提供很大的方便。

但是我代碼審計的話,我等我這些前期知識和內網這些都匯總完了,我再開始回歸編程,進行深入的學習。

但是,如果像我這個對 HTML 和 JavaScript 不咋精通的,雜搞了?前期學習,只能以洞點面,靠經驗摸索,所以我就把這個 XSS 關卡,進行學習式的記錄,達到以洞點面。本文就先記錄 1~5 關。

首先,我們打開關卡的首頁。

然後進入第一關的頁面。

上面的 test 一看就是輸入點,我們直接輸入測試的 js 代碼。

<script>alert(shiyan)</script>

然後我們開始測試下。

好了,看來成功了,說明第一關沒喲任何過濾,直接成功 XSS 彈窗了。

那我們繼續來到第二關。

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

沒有彈窗,那麼常規的思路,先看下網頁源代碼。

然後我們發現我們提交的代碼在 value 這個標籤里,那我們直接閉合吧。

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

然後把我構造的代碼,放關卡里,看看。

好的,成功過關了。

然後,我們來到第3關。

然後再試下常規的方式,測試下。

沒有彈窗,再看下源碼。

然後我們發現,還是在 value 這個標籤里,但是我發現,我們的 <> 這個尖括弧被轉義了。。。

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

果不其然,沒有成功,然後我想了想,我前幾天不是看國光大神總結的那個關卡啊,裡面在第一關總結的時候,有很多的各種彈窗的技巧。。。

然後,我選了幾個不需要 <>這個事件性的。

恩,還得 這個是沒有被過濾的,我們可以用 來閉合這個標籤。

對了,我先貼一下 這個 value 這個標籤是啥意思吧。

那麼現在我就開始構造語句了。

這個 onmouseover 的意思就是 當滑鼠指針移動到元素上時觸 。

然後我們測試下。

當我滑鼠,移到到 shiyan 這個字母時,成功的彈窗了。

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

結合著,上面的 關於 value 標籤的含義,相信大家就能看懂了吧?

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

然後,我們繼續常規的測試。。。

沒有彈窗,我們看下源代碼。

我們發現,直接把 <> 給過濾掉了,而且上面的換成雙引號了,那是不是我們上一關的事件型的那個 onmouseover 這個還能繼續用?只要把閉合的關鍵詞,換成 " ,不就行了?

來,先構造下語句。

來,試試看,行不行。

完美,看來這個滑鼠觸碰這個事件型 xss 可以啊!

那我們繼續走下一關吧。

然後常規的再測試一波。。。

繼續看下源代碼。。。

好奇怪啊,,,我明明沒有輸入這個 _ 這個下劃線,咋會出現這個下劃線?

經過我多次測試,這個是在我提交後,自動添加的 _ 的。

然後我開始測試,到底是什麼情況下,才會觸發這個加 _ 這個下滑線的。

然後再測試。

這個竟然沒有出現,說明問題出在 <script> 這個標籤身上。

繼續測試。

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

繼續測試。

好像知道了問題的原因,,,

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

額,自動切換成小寫,然後加上 _ 這個下劃線。。。。

那麼,我們知道問題的原因了,開始構造繞過吧。。。

首先這個 <script> 肯定會被加下滑線的,那我們不用這個來彈窗不就行了?

我們用這個 <iframe src=javascript:alert(xss)></iframe> 來測試下吧,反正沒有

<script> 這個標籤,我們直接用這個內框口直接測試下看看得了。

這個是國光博客匯總的,我直接複製過來測試下,看看。

我這裡先閉合了 value ,然後貼的代碼,但是看情況,好像插的有點狠 = = !!!

不符合標準,那我們繼續換個 xss 代碼吧。

最後選了半天,選個這個吧。

點擊式 xss ,不過說,先貼過去看看。

好像成功了,我們點擊一下看看。

完美的過關了,但是看著界面好亂碼 = = !我看下源碼吧。

額,我的錯,我複製多了。。。。

總結:

XSS的方法又很多種,只要能讓其頁面輸入輸出的,基本上只要過濾的少的,一般都可以繞過去,但是原理性的,還是的深入 html 和 javascript 這個才行,要不好多標籤,你不懂啥意思,你也自己不會用。

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

這個 XSS 20關的源碼,如果誰想玩的話,建議用 xampp 這個來搭建環境。

鏈接: pan.baidu.com/s/1pKCb9B 密碼: 3cqm

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


推薦閱讀:

Ecma TC39 規範提議 - Literals in script
白帽子挖洞—跨站腳本攻擊(XSS)篇
淺析圖片XSS中的哪些技術問題
好書一起讀(147):XSS,CSRF,SQL注入
「每日一題」XSS 是什麼?

TAG:XSS | 反射型XSS |