学徒-XSS上下文-JavaScript字符串中-反射型XSS-尖括号HTML编码
# 实验室:XSS上下文-JavaScript字符串中的反射型XSS-尖括号HTML编码
# 题目
此实验室在 搜索查询跟踪功能 中包含一个反射型跨站脚本漏洞,反射发生在一个 JavaScript 字符串中,其中尖括号被编码。
若要解决实验室问题,请执行跨站脚本攻击,该攻击脱离 JavaScript 字符串并调用alert
函数。
- name: 实验室-学徒
desc: XSS上下文-JavaScript字符串中的反射型XSS-尖括号HTML编码 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-html-encoded
bgColor: '#001350'
textColor: '#39d50c'
1
2
3
4
5
6
2
3
4
5
6
# 实操
点击 “ACCESS THE LAB” 进入实验室。
映入眼帘的是一个熟悉的搜索功能。
被搜索的字符存在两个出口点,一个位于img
标签的src
属性中,另一个位于script
标签的 JavaScript 代码中。
尝试注入上一次实验中的载荷,失败,尖括号被过滤,无法直接闭合 script 标签。
既然无法闭合,那就不闭合了,直接在原有的script
中调用 alert 函数:
'-alert(5)-'
1
程序未过滤引号,可以直接脱离字符串,并在当前script
中执行任意 JavaScript。
实验完成。
经过测试,以下载荷也可以达到相同的效果:
';alert(5)//
1
编辑 (opens new window)