burpsuite xss漏洞测试、
实验基础知识:
一、<script>laert(1)</script>
<script>
是 HTML 中的 “脚本标签”,用于告诉浏览器:“这段内容是需要执行的代码(而非普通文本)”,默认执行的是 JavaScript 语言。
alert(1)
是 JavaScript 的内置函数调用 ——alert()
函数的作用是在浏览器中弹出一个 “模态对话框”(弹出后会阻塞页面其他操作,必须点击 “确定” 才能关闭),括号里的 1
是对话框中显示的内容(也可以替换为文本,比如 alert("Hello")
会弹出 “Hello”)
二、<svg οnlοad=alert(1)>
<svg>
是一个合法的 HTML 标签,用于定义 SVG 图形
onload
是一个事件处理器,当 SVG 元素加载完成时会触发
onload
会自动执行代码,例如 <svg onload="恶意代码">
会在 SVG 加载后直接运行恶意脚本
三、<img src=1 οnerrοr=alert(1)>
<img>
是 HTML 中用于显示图片的标签。
src=1
这里故意将图片路径设置为无效值 "1"(不是一个有效的图片地址),导致图片加载失败。
onerror
是一个事件处理器,当图片加载失败(发生错误)时会触发
alert(1)
是在 onerror
事件触发时执行的 JavaScript 代码
四、href="javascript:alert(document.cookie)
href="javascript:alert(document.cookie)
是一个典型的 JavaScript 伪协议链接,常被用于尝试获取用户的 Cookie 信息
javascript:
伪协议:这是一种特殊的 URL 协议,允许在链接中直接执行 JavaScript 代码。当用户点击这类链接时,浏览器会执行 :
后面的代码
alert(document.cookie)
:
-
document.cookie
用于获取当前页面的 Cookie 信息(包含用户登录状态、会话标识等敏感数据)。alert()
则是将获取到的 Cookie 信息通过弹窗显示出来。
href
属性:这是 HTML 中 <a>
标签的属性,用于指定链接的目标地址
如果这个带有恶意代码的 <a>
标签被注入到网页中(例如通过未过滤的用户评论、输入框等),当用户点击该链接时:
- 浏览器会执行
javascript:
后面的代码 - 直接获取并展示用户的 Cookie 信息
接下来是实验步骤:
1.将 XSS 反映到 HTML 上下文中,无需编码
当我们输入个1 显示
当我们输入<s>123,显示
当我们输入 在浏览器中弹出一个包含 “1” 的提示框的js代码
<script>alert(1)</script>时
则成功!
2.将 XSS 存储到 HTML 上下文中,无需编码
进入实验室中,我们点击随机一个帖子
进入到帖子中 只有最下面可以输入内容
这里我们在评论中发表我们代码<script>alert(1)</script>
1
发表后提示成功!!
3.使用源在接收器中使用 DOM XSSdocument.write
location.search
进入实验室
先输入我们的弹窗1 js代码<script>alert(1)</scrtipt>,显示行不通
我们再随便输入几个字段img打开F12查询相应的源码,发现已放置在属性
我们需要把这行<img src>=" 提前闭合住 在输入我们的js代码
<img src>=" ">
所以我们需要在执行js代码前先闭合住 " >
再输入"><script>alert(1)</script> 即可成功
我们也可以用其他标签尝试,先闭合
"> <svg οnlοad=alert(1)>
成功!
4.使用源在接收器中使用 DOM XSSinnerHTML
location.search
进入实验室
分别输入13、<script>alert(1)</script>
查看网页源代码,发现字符串被包裹在网页代码里,无法跳出
这里我们输入<svg οnlοad=alert(1)>
这里我们也可以输入<img src=1 οnerrοr=alert(1)>
该src属性的值无效并引发错误。这会触发onerror事件处理程序,然后调用该alert()函数。因此,每当用户的浏览器尝试加载包含恶意帖子的页面时,就会执行有效负载。
成功
5.使用 source 在 jQuery 锚点属性接收器中进行 DOM XSShref
location.search
进入实验 点击提交反馈
在网址 returnPath后输入123 发现网页代码中发现字符串输出位置为href
在href后输入 javascript:alert(document.cookie) 然后点击返回,弹出窗口
成功