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博客

相关推荐
JaguarJack1 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo1 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack2 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay3 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954483 天前
CTF 伪协议
php
BingoGo5 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack5 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo6 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack6 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack7 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端