当前位置: 首页 > article >正文

【BurpSuite】Cross-site scripting (XSS 学徒部分:1-9)

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●)
如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦

【BurpSuite】Cross-site scripting (XSS 学徒部分:1-9)

  • 实验一 Lab: Reflected XSS into HTML context with nothing encoded
  • 实验二 Lab: Stored XSS into HTML context with nothing encoded
  • 实验三 Lab: DOM XSS in document.write sink using source location.search
  • 实验四 Lab: DOM XSS in innerHTML sink using source location.search
  • 实验五 Lab: DOM XSS in jQuery anchor href attribute sink using location.search source
  • 实验六 Lab: DOM XSS in jQuery selector sink using a hashchange event
  • 实验七 Lab: Reflected XSS into attribute with angle brackets HTML-encoded
  • 实验八 Stored XSS into anchor href attribute with double quotes HTML-encoded
  • 实验九 Reflected XSS into a JavaScript string with angle brackets HTML encoded


实验一 Lab: Reflected XSS into HTML context with nothing encoded

要求:
将 XSS 反射到 HTML 上下文中,不进行任何编码

将以下内容复制并粘贴到搜索框中:

<script>alert(1)</script>

在这里插入图片描述
在这里插入图片描述

实验二 Lab: Stored XSS into HTML context with nothing encoded

要求:
该实验在评论功能中 包含一个存储的跨站点脚本漏洞。
要完成此实验,请提交一条评论,alert在查看博客文章时调用该函数。

在评论框中输入以下内容:

<script>alert(1)</script>

输入姓名、电子邮件和网站
点击“发表评论”
在这里插入图片描述

返回博客
在这里插入图片描述

实验三 Lab: DOM XSS in document.write sink using source location.search

要求:
此实验室在搜索查询跟踪功能中包含基于 DOM 的跨站点脚本漏洞。它使用 JavaScriptdocument.write函数将数据写入页面。该document.write函数使用来自 的数据进行调用location.search,您可以使用网站 URL 进行控制。
要完成此实验,请执行调用该函数的跨站点脚本alert攻击

<script>alert(1)</script>试试在这里插入图片描述
发现js语句未解析
在这里插入图片描述
查看源码
在这里插入图片描述
写入

"><script>alert(1)</script><

先闭合再注入
在这里插入图片描述

在这里插入图片描述

实验四 Lab: DOM XSS in innerHTML sink using source location.search

要求:
此实验室在搜索博客功能中 包含基于 DOM 的跨站点脚本漏洞。它使用赋值,使用来自 的数据来innerHTML更改元素的 HTML 内容。 divlocation.search
要完成此实验,请执行调用该函数的跨站点脚本alert攻击。

该 innerHTML 接收器不接受 script 元素,也不会 svg onload事件触发。这意味着将需要使用替代元素,如img 或 iframe。事件处理程序,如onload 以及onerror可以与这些元件结合使用。
例如:

<img src=1 onerror=alert(1)>

<script>alert(1)</script>试试,果然不行
在这里插入图片描述

<img src=1 onerror=alert(1)>
在这里插入图片描述

实验五 Lab: DOM XSS in jQuery anchor href attribute sink using location.search source

要求:
此实验在提交反馈页面中包含基于 DOM 的跨站点脚本漏洞。它使用 jQuery 库的$选择器函数来查找锚元素,并href使用location.search.
要解决此实验,请设置“后退”链接警报document.cookie

注意:
潜在接收器是jQuery的$()选择器函数,它可用于将恶意对象注入DOM。
jQuery曾经非常流行,典型的DOM XSS漏洞是由于网站将此选择器与location.hash源结合使用来生成动画或自动滚动到页面上的特定元素而导致的。此行为通常是使用易受攻击的hashchange事件处理程序实现的,如下所示:
$(window).on(‘hashchange’, function() {
var element = $(location.hash);
element[0].scrollIntoView();
});
作为 hash 是用户可控的,攻击者可以利用它将XSS向量注入 $()选择器接收器。较新版本的jQuery修补了此特定漏洞,方法是在输入以散列字符( #)。但仍然可以在野外找到易受攻击的代码
要真正利用此典型漏洞,需要找到一种方法来触发hashchange没有用户交互的事件。最简单的方法之一是通过iframe:

<iframe src="https://vulnerable-website.com#" onload="this.src+='<img src=1 onerror=alert(1)>'">

在此示例中,src属性指向哈希值为空的易受攻击的页面。当 iframe 被加载时,一个XSS向量被附加到散列中,从而触发hashchange事件(即使较新版本的jQuery也可能通过 $() 选择器接收器,前>提是可以完全控制来自不需要 #前缀)

在这里插入图片描述

将查询参数更改returnPath后跟任意字符串
在网页代码中查找位置,发现字符串输出位置为href
在这里插入图片描述

returnPath后语句改为:

javascript:alert(document.cookie)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

实验六 Lab: DOM XSS in jQuery selector sink using a hashchange event

要求:
该实验室主页上 存在一个基于 DOM 的跨站脚本漏洞。它使用 jQuery 的$()选择器函数自动滚动到给定的帖子,其标题通过location.hash属性传递。
要解决该实验室问题,请向受害者提供一个漏洞利用程序,print()在其浏览器中调用该函数。

从实验室横幅中,打开漏洞利用服务器。
在这里插入图片描述
在正文部分中,添加以下恶意代码iframe:

<iframe src="https://YOUR-LAB-ID.web-security-academy.net/#" onload="this.src+='<img src=x onerror=print()>'"></iframe>

我的是:
<iframe src="https://0ab800ae03b47348804e7bdc00600048.web-security-academy.net/#" onload="this.src+='<img src=x onerror=print()>'"></iframe>

在这里插入图片描述

在这里插入图片描述

存储漏洞利用程序,然后单击查看漏洞利用程序View exploit,print()以确认调用了 该函数。
在这里插入图片描述

返回漏洞利用服务器并单击 交付给受害者Deliver to victim 以解决实验室问题。

在这里插入图片描述

实验七 Lab: Reflected XSS into attribute with angle brackets HTML-encoded

要求:
此实验室在搜索博客功能中包含一个反映的跨站点脚本漏洞,其中尖括号是 HTML 编码的。要完成此实验,请执行跨站点脚本攻击,注入属性并调用该alert函数。

在搜索框中提交随机字母数字字符串,然后查看网页源码,发现是双引号"闭合
在这里插入图片描述

将输入替换为:

"οnmοuseοver="alert(1)

出现弹窗
在这里插入图片描述

实验八 Stored XSS into anchor href attribute with double quotes HTML-encoded

要求:
该实验在评论功能中包含一个存储的跨站点脚本漏洞。要完成此实验,请提交一条评论,该评论将alert在单击评论作者姓名时调用该函数。

在“网站”输入中发布带有随机字母数字字符串的评论,然后使用 Burp Suite 拦截请求并将其发送到 Burp Repeater。
在这里插入图片描述

在浏览器中发出第二个请求以查看帖子,并使用 Burp Suite 拦截该请求并将其发送到 Burp Repeater。
观察第二个 Repeater 选项卡中的随机字符串已反映在锚点href属性内。
在这里插入图片描述

再次重复该过程,但这次将您的输入替换为以下有效负载,以注入调用警报的 JavaScript URL:
即上图框住部分website=javascript:alert(1)

javascript:alert(1)

通过右键单击、选择“复制 URL”并将 URL 粘贴到浏览器中来验证该技术是否有效。单击评论上方的名称应该会触发警报。
在这里插入图片描述

实验九 Reflected XSS into a JavaScript string with angle brackets HTML encoded

要求:
此实验室在尖括号编码的搜索查询跟踪功能中包含反映的跨站点脚本漏洞。反射发生在 JavaScript 字符串内。要完成此实验,请执行跨站点脚本攻击,突破 JavaScript 字符串并调用该alert函数

在搜索框中提交随机字母数字字符串,然后使用 Burp Suite 拦截搜索请求并将其发送到 Burp Repeater。
观察随机字符串已反映在 JavaScript 字符串中。
在这里插入图片描述

将您的输入替换为以下有效负载,以打破 JavaScript 字符串并注入警报:

'-alert(1)-'

在这里插入图片描述

通过右键单击、选择“复制 URL”并将 URL 粘贴到浏览器中来验证该技术是否有效。当您加载页面时,它应该触发警报。
在这里插入图片描述


http://www.kler.cn/news/319350.html

相关文章:

  • JVM面试问题集
  • 航班延误背后隐秘原因--网络安全
  • 41. 如何在MyBatis-Plus中实现批量操作?批量插入和更新的最佳实践是什么?
  • MELON的难题- 华为OD统一考试(E卷)
  • 【Unity服务】如何使用Unity Version Control
  • transformer模型写诗词
  • 【大模型教程】如何在Spring Boot中无缝集成LangChain4j,玩转AI大模型!
  • day-60 字符串中最多数目的子序列
  • 整合SpringSecurity框架经典报错
  • 大数据实验一: Linux系统安装和使用
  • 看Threejs好玩示例,学习创新与技术(GridDistortionEffect)
  • [Redis][List]详细讲解
  • 秋分之际,又搭建了一款微信记账本小程序
  • 大模型智能体在金融公告理解领域的应用 | OPENAIGC开发者大赛高校组AI创新之星奖
  • 宠物空气净化器和普通的空气净化器有区别吗?哪款能吸猫毛
  • Excel的基本应用__1
  • 牛客周赛 Round 60
  • 数据结构——二叉搜索树、Map和Set
  • 【Unity基础】Unity常见数据管理方案总结
  • 虚拟机屏幕分辨率自适应VMWare窗口大小
  • 继承
  • 【计算机网络 - 基础问题】每日 3 题(二十一)
  • 如何全局修改Git的邮箱、用户名?
  • Redis面试笔记
  • 教授【优青】团队亲自指导!提供专业实验设计、数据分析、SCI论文辅助等全方位服务
  • c++中修改const变量的方法和const类成员函数修改类成员变量的方法
  • Qt 状态机编程,双层状态机,实现暂停恢复
  • awk 切割字符串 shell linux
  • 深入解析 Apache Kylin
  • Python解析非参数检验