经过不懈努力,我们成功通过了前面12关,需要注意的是,十三关的技巧与十一关和十二关大同小异,只是将注入的位置改为cookie即可,而第十四关页面中内嵌的网页已经无法访问了,我们直接跳过,接下来我们一起看第十五关。

第十五关的页面中没有任何输入的位置,在他的URL中传入了一个参数src,但目前我们并不知道该参数的值有什么作用,我们检查一下网页源码:

我们发现我们传入的aaaaa被丢给了一个奇怪的东西:ng-include
这是一个啥东西呢?我们来看以下解释:
ng-include 指令用于包含外部的 HTML 文件。
包含的内容将作为指定元素的子节点。
ng-include属性的值可以是一个表达式,返回一个文件名。默认情况下,包含的文件需要包含在同一个域名下。
也就是说,ng-include函数可以理解为文件包含的作用,它可以直接引用同一域名下的html页面,通俗点来说,就是在页面中导入另一个页面,它是基于AngularJS框架的。
弄清楚了这一点,我们只需要把aaaaa替换为另一个网页的html文件,就可以显示出该网页并利用该网页的漏洞成功执行代码,弹出警告框
这里,我们选择引入靶场的第一关,也就是level1.php?name=<script>alert(/xss/)</script>
我们试着传入这个参数:level1.php?name=<script>alert(/xss/)</script>
便可以成功通关了!!!

327

被折叠的 条评论
为什么被折叠?



