道德黑客 - 跨站脚本


跨站脚本 (XSS) 是一种代码注入攻击,允许攻击者在另一个用户的浏览器中执行恶意 JavaScript。

攻击者并不直接针对受害者。相反,他利用受害者访问的网站中的漏洞,让该网站为他传递恶意 JavaScript。对于受害者的浏览器来说,恶意 JavaScript 似乎是网站的合法部分,因此该网站无意中成为了攻击者的同谋。这些攻击可以使用 HTML、JavaScript、VBScript、ActiveX、Flash 进行,但最常用的 XSS 是恶意 JavaScript。

这些攻击还可以通过帐户劫持、更改用户设置、cookie 盗窃/中毒或虚假广告收集数据并发起 DoS 攻击。

例子

让我们举一个例子来了解它是如何工作的。我们有一个由metasploitable机器获取的易受攻击的网页。现在我们将测试红色箭头突出显示的字段是否存在 XSS。

元分析

首先我们制作一个简单的alert脚本

<script>  
   alert(‘I am Vulnerable’)  
</script>

它将产生以下输出 -

简单警报

XSS 攻击的类型

XSS 攻击通常分为三种类型 -

  • 持久性 XSS,其中恶意字符串源自网站的数据库。

  • 反射型 XSS,恶意字符串源自受害者的请求。

  • 基于 DOM 的 XSS,漏洞存在于客户端代码而不是服务器端代码。

一般来说,跨站点脚本是由漏洞扫描器发现的,因此您不必通过在其上放置 JavaScript 来完成所有手动工作,例如

<script>  
   alert('XSS') 
</script>

Burp Suiteacunetix被认为是最好的漏洞扫描器。

小建议

为了防止 XSS 攻击,请记住以下几点 -

  • 检查并验证所有表单字段,如隐藏表单、标题、cookie、查询字符串。

  • 实施严格的安全政策。在输入字段中设置字符限制。