xss-labs关卡记录15-20关

十五关

随便传一个参数,然后右击查看源码发现,这里有一个陌生的东西,就是ng-include。这里就是:

ng-include指令就是文件包涵的意思,用来包涵外部的html文件,如果包涵的内容是地址,需要加引号。

因此我们试试包含第一关,构造payload为:?src='/level1.php'

果然可以加载,接着我们试试,闭合原本的标签,构造payload为:

?src="> <a href=javascript:alert(1)> <"

发现这里估计是用了一个htmlspecialchars($str)进行html的实体转化。

然后就用之前第一关的解吧,我们加载第一关,然后借助第一关的传参来绕过:

构造payload为:?src='./level1.php?name=<img src=1 οnmοuseοver=alert()>'

右击查看源代码:

虽然这里也是使用了htmlspecialchars($str)进行html的实体转化,但是但是由于该符号被解析后传递到了level1.php的name参数中,因此我们可以成功突破。

检查源代码:

果然就是和我们猜想的一样。

十六关

还是先上传我们的常用关键字试试:

?keyword=" ' sRc DaTa OnFocus OnMouseDoWn P <sCriPt> <a hReF=javascript:alert()>

然后右击查看源代码:

发现我们的语句是在center里面,而且进行了小写转换,并把script替换成空格,最后将空格给实体化,这里空格可以用什么替换?试试斜杠

payload为:?keyword=<img/src=1/οnmοuseοver=alert(1)>

斜杠也被实体化了,只能使用回车试试了,回车的url编码是%0a,我们用这个替换空格:

?keyword=<img%0Asrc=1%0Aοnmοusedοwn=alert(2)>

果然成功了:

查看源码:

17-20关

这里后面的涉及flash插件,浏览器不支持,就没有再看。贴一个大佬的通关记录:

xss-labs靶场实战全通关详细过程(xss靶场详解)-CSDN博客

相关推荐
BingoGo3 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack3 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo4 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack4 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack5 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo5 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack6 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
一次旅行6 天前
网络安全总结
安全·web安全
QQ5110082856 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php