网络伦理-跨站脚本攻击



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

攻击者不会直接攻击其受害者。相反,他利用受害者访问的网站中的漏洞,以便让网站为他提供恶意JavaScript。对于受害者的浏览器来说,恶意JavaScript看起来像是网站的合法部分,因此网站无意中成为攻击者的帮凶。这些攻击可以使用HTML、JavaScript、VBScript、ActiveX、Flash来执行,但最常用的XSS是恶意JavaScript。

这些攻击还可以收集数据,例如账户劫持、更改用户设置、窃取/篡改cookie或虚假广告,并创建DoS攻击。

示例

让我们举个例子来了解它是如何工作的。我们通过**metasploitable**机器获得了一个存在漏洞的网页。现在我们将测试红色箭头突出显示的字段是否存在XSS漏洞。

Metasploitable

首先,我们编写一个简单的alert脚本

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

它将产生以下输出:

Simple Alert

XSS攻击类型

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

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

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

  • **DOM型XSS**,其中漏洞位于客户端代码而不是服务器端代码中。

通常,跨站脚本攻击可以通过**漏洞扫描器**发现,这样您就不必手动在其中放置JavaScript,例如:

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

**Burp Suite**和**acunetix**被认为是最好的漏洞扫描器。

快速提示

为了防止XSS攻击,请牢记以下几点:

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

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

广告