XSS-lab靶场(11~15)
Level 11
<?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>';
?>
直接进行白盒审计,这里其实比较牵强,这里明显要攻击的参数是t_ref
,str33
的来源是refer
,所以攻击点是在请求头refer
中,攻击思路和第10题是一样的,添加input
可见属性即可。
Level 12
<?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>';
?>
思路和上一题没有区别,白盒审计来看,就只是换了请求头,在这里是使用User-Agent
Level 13
<?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>';
?>
仍然没有区别,这里是使用了cookie
这个请求头
Level 14
这里就要提到exif xss
exif
是我们熟悉的照片属性,拍摄日期等等
那么如何触发exif xss
漏洞?
当网站有读取图片exif信息功能,读取到恶意的exif信息就可以触发payload
谷歌浏览器有一个插件 exif viewer 。在老版本,没有对exif信息进行过滤,导致payload执行
放在可以读取exif
的网站上试试
但是在现在,该网站已经不提供exif
读取的服务
虽然名字仍然是exifviewer
但是已经剩下一些广告了,对于原题,可以参考以下链接:
https://xz.aliyun.com/t/1206
主要攻击思路就是和示例一样,在exif
信息里放入攻击信息,明白就可以了
Level 15
在这里,需要注意,再次查看源代码,引入了angular
这个js
文件会对xss
有一定防护,在页面上很难发起攻击。(具体详情可以百度一下angular
)
这里引入了一张图片,是1.gif
,当输入其他不存在的图片时,仍然回到1.gif
但是这里的 src
参数确实对链接进行了请求
那么,选取在同一服务器下“存在”的图片,同时通过标签发起xss即可
payload:
/level15.php?src='level1.php?name=test<img src=1 οnerrοr=alert(1)>'