靶场:XSS挑战之旅
1-10关
11-20关
查看网页源代码

抓包

修改,放包
Referer: 111" onclick="alert(1)" type="text

浏览器效果

下一关

源码
","",$str11);$str33=str_replace("<","",$str22);echo "没有找到和".htmlspecialchars($str)."相关的结果.
".' ';
?>
看源码,跟user-agent有关

抓包修改
User-Agent: 111" onclick="alert(1)" type="

查看网页源代码,点击输入框即可通关

源码
","",$str11);$str33=str_replace("<","",$str22);...... //能浏览器加载的地方......
?>
看网页源代码,跟cookie有关

浏览器新建cookie(或者抓包修改也可以)
user: 111" onclick="alert(1)" type="

刷新加载

源码
......
?>
emmm,这关需要自己找环境复现。

exif xss介绍
exif
可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的文件格式,可以记录数码照片的属性信息和拍摄数据。
exif xss 原理
因为有些网站可以读取exif 信息,当传入一张含有恶意信息的图片的时候,就可以触发恶意代码。
制作恶意图片
截图不行,无法写入

这张图片时手机拍的,可以写入

可以读取exif信息的网址
https://www.sojson.com/image/exif.html

https://exifdata.com/

ng-include函数
可以在
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=
'
源码
'; ?>
源码
".$str5.""; //浏览器加载注入代码
?>
测试,观测浏览器加载效果和网页源代码

payload
----------------------------------
用%0a替换空格
onerror事件
onerror 事件在加载外部文件(文档或图像)发生错误时触发。
在img 这个标签无法正常执行的时候触发,所以这里的src 我们随便填一个不存在的地址,就可以触发后面的弹窗了。
下一关

源码
欢迎来到level17
";?>成功后,点我进入下一关
测试

标签
引入一个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

没了
下一篇:握把里有一面挂壁,原来是京山的