声明:
由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。
笔记内容来源于各类网课。
环境:
XSS Challenges Stage #7:http://xss-quiz.int21h.jp/ , Firefox浏览器,BurpSuite
一、概述
空格分隔属性的XSS。
二、XSS探测过程
1. 正常的数据提交
提交数据123abc,数据出现在input的value属性中。
2. 代码审查
通过代码审查,我们有两种思路,标签闭合引入script或标签闭合引入事件。
首先尝试,标签闭合引入script。
"> <script>alert(1);</script>
发现脚本被转义为字符串,无法闭合。
我们再尝试,标签闭合引入事件。
" onmouseouve="alert(1)
发现引号被外部引号闭合。我们进行测试。
123abc 1=2
发现不需要闭合前面的引号,我们使用空格就能分割出一个新的属性。并且后面的属性值,不需要引号闭合。我们可以构建如下Payload。
123abc onmouseover=alert(1)
成功触发XSS。
3. 构造Payload
123abc onmouseover=alert(document.domain)
成功注入代码。