XSS.TV挑戰賽(一)

0x0 前言

最近學了XSS,想找點練手的東西,突然發現xss.tv這個平台上有個xss挑戰賽。

0x1 Level1

基本信息

可以看到通過GET傳了一個test。

第一關嘛,猜測是沒過濾的。

明顯是沒有對輸入進行任何過濾。

直接水過了,應該有更短的payload,懶得想了。

payload: <script>alert()</script>

0x2 Level2

一眼看過去只有一個輸入點,兩個輸出點。

打個簡單的payload看過濾了什麼。

其中h2部分加了轉義,注入難度有點高,但是注意下面的input什麼都沒做(大小寫不一致是因為不是同時截的圖),那就簡單了。

不用客氣,直接一個>閉合了input標籤,然後加了一個能觸發alert的屬性就行了。

payload: "onchange=alert(1)>

0x3 Level3

和Level2雷同,也是兩個輸入點和一個輸出點。

發現對value也進行了轉義,這樣就不能直接用>來閉合了,先試試直接加屬性

結果莫名多了個單引號gg,那隻能強行讓這個『去當一個屬性來弄走了。

順利搞定。

payload: onchange=alert(1) ="

0x4 Level4

依舊是一個輸入點,兩個輸出點。

哇,這次value直接把>過濾沒了,不過依舊可以按照Level3的思路。

直接把多的"變成後面的屬性,搞定。

payload: "onchange=alert(1)

初學XSS,感覺這還是一門很有趣的技術,剩下的下次再寫出來吧。

如果大家有更好的思路,可以在評論區給出~

推薦閱讀:

XSS 攻擊有哪些黑魔法?
XSS常見攻擊與防禦
仿:Pentester中的XSS詳解
XSS.TV挑戰賽(二)

TAG:XSS | CTFCaptureTheFlag |