什么是网站漏洞?如何预防网站漏洞

根据SiteLock的数据,网站平均每天遭受22次攻击,每年超过8,000次攻击。网站漏洞是网站或Web应用程序代码中的弱点或配置错误导致,它使攻击者能够获得对该网站(或可能是托管服务器)的某种程度的控制。大多数漏洞是通过自动方式利用的,例如漏洞扫描程序和僵尸网络。网络黑客会创建专门的工具来搜索某些使用量大的程序平台,例如WordPress或Joomla,以寻找常见和公开的漏洞。一旦发现这些漏洞,便可以利用这些漏洞窃取数据,分发恶意内容,或将污损和垃圾邮件内容注入易受攻击的站点。

漏洞类型

攻击者经常利用五种常见类型的网站漏洞。这并不是攻击者在应用程序中发现的所有可能漏洞的详尽列表,但确实包含一些网站最常见的漏洞。

一、SQL注入漏洞(SQLi) 

SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。这使黑客可以通过多种方式访问​​网站,包括:

  • 向网站注入恶意/垃圾邮件
  • 窃取客户信息
  • 绕过身份验证以完全控制网站

由于其多功能性,SQL注入是最常被利用的网站漏洞之一。它经常用于访问开放源内容管理系统(CMS)应用程序,例如Joomla!,WordPress和Drupal。

二、跨站点脚本(XSS)

XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。跨站点脚本用于定位网站访问者,而不是网站或服务器本身。这通常意味着攻击者在网站上注入JavaScript,以便脚本在访问者的浏览器中执行。浏览器无法识别脚本是否旨在成为网站的一部分,从而导致恶意行为,包括:

  • 盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
  • 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
  • 盗窃企业重要的具有商业价值的资料
  • 非法转账
  • 强制发送电子邮件
  • 网站挂马
  • 控制受害者机器向其它网站发起攻击

针对WordPress的一些最大规模的攻击来自跨站点脚本漏洞。但是,XSS不仅限于开源应用程序。最近,在游戏巨头Steam的系统中发现了一个跨站点脚本漏洞,该漏洞可以将登录凭据暴露给攻击者。

命令注入–命令注入漏洞使攻击者可以在网站的托管服务器上远程传递和执行代码。当传递给服务器的用户输入(例如标头信息)未得到正确验证时,就会执行此操作,从而使攻击者可以在用户信息中包含shell命令。命令注入攻击尤其重要,因为它们可以使不良行为者启动以下操作:

  • 劫持整个网站
  • 劫持整个托管服务器
  • 在僵尸网络攻击中利用被劫持的服务器

Shellshock漏洞是最危险和最广泛的命令注入漏洞之一,它影响了大多数Linux发行版。

文件包含(LFI / RFI) –远程文件包含(RFI)攻击使用服务器端Web应用程序语言(例如PHP)中的包含功能来执行远程存储文件中的代码。攻击者托管恶意文件,然后利用未正确处理的用户输入来将函数注入或修改到受害者站点的PHP代码中。然后可以使用此包含来启动以下操作:

  • 提供可用于在访问者浏览器中包含攻击和网络钓鱼页面
  • 在公开网站上包含恶意Shell文件
  • 控制网站管理面板或主机服务器

当用户输入能够修改包含文件的完整或绝对路径时,可能会发生本地文件包含(LFI)就像远程文件一样。攻击者可以使用此向量来获取,读取或写入对敏感本地文件的访问权限,例如,包含数据库的配置文件。攻击者还可以执行目录遍历攻击,修改包含的文件路径以查看后端和主机服务器文件,从而暴露敏感数据。

跨站点请求伪造(CSRF) –跨站点请求伪造攻击并不常见,但可能会危害很大。CSRF攻击会诱骗站点用户或管理员在不知不觉中为攻击者执行恶意操作。结果,攻击者可能可以使用有效的用户输入来执行以下操作:

  • 更改订单价值和产品价格
  • 将资金从一个帐户转移到另一个帐户
  • 更改用户密码以劫持帐户

这些类型的攻击对于电子商务和银行站点特别麻烦,在这些站点中,攻击者可以访问敏感的金融信息。最近使用CSRF攻击夺取了对巴西银行DNS设置的所有控制权,超过了五个小时。

缓解和预防漏洞

您可以采取简单的步骤来缓解和防止漏洞使黑客获得未经授权的访问您的网站的权限。

更新您的应用程序–保护您的网站安全的第一步是确保所有应用程序及其相关插件都是最新的。供应商经常为其应用程序发布安全补丁,因此及时执行这些更新很重要。恶意行为者一直关注开放源代码应用程序新闻,并且已知将更新通知用作查找易受攻击的网站的蓝图。订阅重要补丁程序的自动应用程序更新和电子邮件通知将帮助您领先于攻击者。

使用Web应用程序防火墙(WAF) Web应用程序防火墙是防范那些攻击您网站的漏洞的第一道防线。Web应用程序防火墙可以过滤访问您网站的恶意流量。这包括已知的垃圾邮件或攻击IP地址,自动扫描程序以及基于攻击的用户输入。

使用恶意软件扫描程序–您的最后一道防线是使用信誉良好的自动化恶意软件扫描程序。建议您找到一种可以自动识别和漏洞并删除已知恶意软件的软件。

更高级的程序员可能会选择手动查看其代码并实施PHP筛选器以清理用户输入。这包括一些方法,例如将图像上传表单限制为仅.jpg或.gif文件,以及将表单提交列入白名单以仅允许预期的输入。

了解黑客可能试图利用的漏洞类型,以利用您的Web应用程序,是保护网站安全的重要的第一步。漏洞不仅会对您的网站和服务器造成严重后果,而且还会对客户的数据产生严重后果。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注