type
status
slug
tags
category
icon
password
Property
Nov 18, 2022 01:00 PM
date
summary
前言
闲来无事刷一下burp官网的靶场,感觉还挺有意思的。尤其是专家关卡这边就记录一下专家关卡
0x01
难点-只能使用部分标签 -所有事件都被屏蔽
关键就在于animate这个标签
如下代码 svg 和circle 会在页面画一个圆⭕️
其中svg为画一个框框 circle为绘制一个圆,cx 为 x轴位置 xy 为y轴的位置 r为半径
这时候圆是不会动的,可以通过animate标签动态改变circle 的属性
animate 可以动态改变
attributeName 这个标签定义了改变哪个值,
values定义了从什么改变到什么
dur 变化时长
fill 结束后保持在第一帧还是最后
repeatCount 循环次数
了解了上面的特定我们就可以利用这个特性来构造xss了
动态改变a标签的href属性 变为payload
改造一下
0x02
这关非常有趣就在于反射查询框存在xss
为啥还能查询到正确的文章,因为mysql会将id 字符串强制转成int
有意思地方就是xss位置在href属性 ,而单引号地方使用的是url编码,要知道我们在地址栏位置是默认url编码解码的
尝试payload
所以我们尝试直接使用单引号跳出,可以看到下面报错了,就代表跳出了原有的位置
直接按照传统方式呢?可以看到过滤了 括号空格等字符 ()
url编码-也是没法
所以这里没法使用括号,跳出 所以的必须在fetch函数内
这里我也不懂 直接上正解,不过可以解释一下具体含义
其实可以适当精简下
变换一下使用 valueOf
参考链接
0x03
3-4关都是关于AngularJS 这个谷歌开发的一个js框架
第三关主要就是沙箱逃逸
0x04
这个是有关AngularJS框架使用ng-focus绕过CSP,这样就不会触发CSP内联检查
0x05
5-6关卡都是关于csp的
存在xss漏洞但因为有CSP 没法执行js脚本
这关攻击有点复杂了 需要用xss把csrf的token带出来然后用csrf改邮箱
用到了
window.name
属性利用xss构造一个a标签
注意base标签里面的target属性 会被带出保存在
window.name
属性里面这里便包含了csrf 参数
获取到csrf后然后构造payload
再次发送点击即可
0x06
这关就比较简单了
主要就是响应头注入绕过CSP
正常payload 会触发CSP保护
token位置存在请求头注入,注入CSP位置允许加载内联脚本
成功执行