xss-labs(11-15)

level-11 Http头修改Refer

初次尝试

主页没有什么特别的

image-20210729163324801

看看前端源码,发现四个隐藏框,且t_ref有值

image-20210729163351968

现在地址栏传值试试:?keyword=good%20job!&t_link=1&t_history=2&t_sort=3&t_ref=4

t_sort 成功传入值:

image-20210729163725417

引号被实体转义了?keyword=good%20job!&t_link=1&t_history=2&t_sort=3&t_ref=4

image-20210729163954511

这个t_ref没有过滤,能不能修改他的值呢?

?keyword=123&t_sort=1" type="text"><script>alert(1)</script>

image-20210729165549406

前面看到地址栏是什么,t_ref就是什么,而http头的refer也是那个值,你说巧不巧

hackbar里把refer改为1

image-20210729165736547

t_ref的值也改变了

image-20210729165815258

refer的值改为" type="text " onmouseover="alert(1),出现文本框

image-20210729170123052

鼠标移动过去,触发弹窗

image-20210729170146121

源码分析

image-20210729171234703

t_sort的值传给str00,经过实体转义后传入隐藏框

Http的refer经任何过滤<>后传给str33,才让我们有了可乘之机

level-12 Http头修改User Agent

初次尝试

打开主页,老川原砾了

image-20210729170353919

看看前端页面,这个user-agent立马引起了我的注意,用脚趾想一想,应该是修改user-agent的值,触发弹窗

image-20210729170647862

修改值为" type="text" onmouseover="alert(1)

image-20210729170852477

隐藏框出现

image-20210729170924545

移动过去触发弹窗

image-20210729170953932

源码分析

和levle11没有什么区别,只是Refer换成了User Agent

image-20210729171605494

level-13 修改Cookie

初次尝试

cookie引起我的警觉

image-20210729171931214

cookie editor修改cookie: " type="text" onmouseover="alert(1)
(可能由于插件的原因导致修改不成功,请更换浏览器或插件解决)

image-20210729172100868

刷新后出现文本框

image-20210729172225650

移动过去触发弹窗

image-20210729172245372

源码分析

和前面两个差不多

image-20210729172358794

level-14

自动跳转到那个网址,但是失效了

image-20210729181616038

看看前辈的吧

level-14

15 AngularJS的javascript框架漏洞

image-20210729181819676

看看前端代码

image-20210729181905083

无从下手,看看源码,就短短的几行,实体转义了src的值

image-20210729184052387

ng-include

使用了ng-include这个表达式的意思是当HTML代码过于复杂时,可以将部分代码打包成独立文件,在使用ng-include来引用这个独立的HTML文件。

定义和用法

ng-include 指令用于包含外部的 HTML 文件。

包含的内容将作为指定元素的子节点。

ng-include 属性的值可以是一个表达式,返回一个文件名。

默认情况下,包含的文件需要包含在同一个域名下。

引用文件名要加单引号 即 ng-include=" ‘index.html ’ "

特别说明

1.ng-include,如果单纯指定地址,必须要加引号

2.ng-include,加载外部html,script标签中的内容不执行,不能加载,如果需要控制器处理需要在主页中注册

3.ng-include,加载外部html中含有style标签样式可以识别

4.ng-inclue,外部html中的link标签可以加载

分析与实践

由此清楚了ng-include'的用法,加载一个外部的html文件,尝试加载前面做过的level

竟然在下面出现了level 4的页面!

由于level 4产生XSS的页面是:

http://localhost/xss-lab//level4.php?keyword="onmouseover='alert(1)'

【最终payload】

猜想构造level 5的payload:

http://localhost/xss-lab/level15.php?src='level4.php?keyword=%22%20onmouseover=alert(1)%20%22'

其中%20为空格的url编码,%22为”的url编码,将鼠标移动到下面的输入框中触发,成功!

好吧上面是我粘贴的源码自带的解析,我的不知道怎么回事,无法包含外部html文件

posted @ 2021-07-29 20:08  1ink  阅读(184)  评论(0编辑  收藏  举报