关注这个靶场的其他相关笔记:XSS - LABS —— 靶场笔记合集
0x01:过关流程
本关推荐在 Google 浏览器中完成,因为 FireFox 中不会出现上图中的 <embed>
标签,就算你能注入,你也没触发的条件。
进入靶场,右击,查看页面源码,找找特殊点:
我们测试一下,看看能不能和上一关一样,直接为 <embed>
标签构造一个监听事件:
?arg01= onmouseover&arg02=alert(1)
触发方式,和过关方式都一样,emmmm,下面分析一下源码。
0x02:源码分析
下面是 XSS LABS Level 19 的源码,和 Level 18 唯一的不同,就是做了个自动跳转加引用的 swf
文件不同,其余过滤方面,没有什么新意,感觉是水关卡的。
<!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 = "level19.php?arg01=a&arg02=b";
}
</script>
<title>欢迎来到level18</title>
</head>
<body>
<h1 align=center>欢迎来到level18</h1>
<?php
ini_set("display_errors", 0);
echo "<embed src=xsf02.swf?" . htmlspecialchars($_GET["arg01"]) . "=" . htmlspecialchars($_GET["arg02"]) . " width=100% heigth=100%>";
?>
</body>
</html>