关注这个靶场的其他相关笔记:XSS - LABS —— 靶场笔记合集-CSDN博客
0x01:过关流程
进入靶场,老样子,右击,查看页面源码,找找不同:
可以看到,本关又多了一个新字段 t_cook
,cook,联想一下,cookie!
(坏了,被我们摸清套路了,或者说,俺们思维局限住了),不多说了,查看一下页面的请求包:
既然,回显点清楚了,那么下面就是使用工具修改 Cookie 值,重新发送请求了。这里使用的工具是 HackBar(一个浏览器插件,比较方便),HackBar 的详细教程链接如下:
HackBar 插件详解:功能介绍、安装步骤与使用教程_hackbar 来编码-CSDN博客文章浏览阅读779次,点赞29次,收藏9次。HackBar 是一个辅助进行网络渗透测试和安全评估的浏览器插件。它提供了一系列快捷工具和功能,可以帮助用户执行各种网络攻击和测试,包括 XSS、SQL 注入、CSRF、XXE、路径穿越等漏洞,以下是 HackBar 插件的一些主要特点和功能:自定义请求发送:HackBar 允许用户自定义 HTTP 请求,并可以通过插件直接发送这些请求。用户可以手动构造 GET 和 POST 请求,并添加自定义的 HTTP 头部、参数等信息。编码/解码工具。_hackbar 来编码https://blog.csdn.net/m0_73360524/article/details/141298896关卡比较 Easy,所以这里直接上 Payload 和攻击流程:
" type="text" onmouseover="alert(1)
0x02:源码分析
下面是 XSS LABS Level 13 的靶场源码,以及我对其的部分笔记:
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>// 修改 alert 默认行为,跳转到下一关window.alert = function() {confirm("完成的不错!");window.location.href = "level14.php";}</script><title>欢迎来到level13</title></head><body><h1 align=center>欢迎来到level13</h1><?phpsetcookie("user", "call me maybe?", time() + 3600);ini_set("display_errors", 0);$str = $_GET["keyword"];$str00 = $_GET["t_sort"];$str11 = $_COOKIE["user"]; // 获取 Cookie 中的 user 字段// 过滤 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><?phpecho "<h3 align=center>payload的长度:" . strlen($str) . "</h3>";?></body></html>