网站被黑客攻击了怎么办?这些常见漏洞不得不防!

2021-06-16 4,926
  • Web渗透测试中网站漏洞有哪些常见的典型漏洞。常见漏洞包括SQL注入漏洞、文件上传漏洞、目录遍历漏洞、文件包含漏洞、命令执行漏洞、代码执行漏洞、跨站点脚本(XSS)漏洞、SSRF漏洞、XML外部实体(XXE)漏洞、反序列化漏洞、解析漏洞等。因为这些安全漏洞可能被黑客利用,从而影响业务。以下每一条路线都是一种安全风险。黑客可以通过一系列的攻击手段发现目标的安全弱点。如果安全漏洞被成功利用,目标将被黑客控制,威胁目标资产或正常功能的使用,最终导致业务受到影响。所以现在各行各业都非常重视企业的网络安全问题,不论是国企机构还是私企都在大力发展挖掘网络安全工程师这类人才。

  • 3aa27cffea5e4740acfd5a47cdb4d8d6.jpg

  • 以下是常见网络漏洞表现形式和预防方法

  • 一、注入漏洞

  • 由于其普遍性和严重性,注入漏洞在WebTOP10漏洞中始终排在第一位。被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。用户可以通过任何输入点输入构建的恶意代码。如果应用程序没有严格过滤用户的输入,一旦输入的恶意代码作为命令或查询的一部分被发送到解析器,就可能导致注入漏洞。

  • 一般SQL注入的位置包括:

  • (1)表单提交,主要是POST请求,也包括GET请求;

  • (2)URL参数提交,主要为GET请求参数;

  • (3)Cookie参数提交;

  • (4)HTTP请求头部的一些可修改的值,比如Referer、User_Agent等;

  • (5)一些边缘的输入点,比如.mp3文件的一些文件信息等。

  • 如何预防?

  • (1)所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。

  • (2)对进入数据库的特殊字符(’”<>&*;等)进行转义处理,或编码转换。

  • (3)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。

  • (4)数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。

  • (5)网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。

  • (6)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。

  • (7)避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。

  • (8)在网站发布之前建议使用一些专业的SQL注入检测工具进行检测,及时修补这些SQL注入漏洞。


  • 二、文件上传漏洞

  • 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

  • 如何预防?

  • 在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。

  • 三、目录遍历漏洞

  • 这个漏洞不常见,但是也是有的,该漏洞允许浏览者直接在浏览器里浏览和下载网站的文件,导致网站结构,网站文件,甚至数据库轻易的被黑客搞到。造成此类漏洞的原因是服务器管理员的疏忽。该漏洞入侵主要是得到数据库的地址,用下载工具下载,并得到管理员账号。防止漏洞的方法就是服务器管理员取消网站目录遍历的权限。

  • 四、文件包含漏洞

  • 文件包含函数中包含的文件参数没有过滤或严格定义,参数可以由用户控制,可能包含意外文件。如果文件中存在恶意代码,无论文件是什么后缀类型,文件中的恶意代码都会被解析执行,导致文件包含漏洞。文件中包含的漏洞可能会造成网页修改、网站暂停、服务器远程控制、后门安装等危害。

  • 五、跨站脚本漏洞

  • 跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。XSS漏洞是网络应用程序中常见的安全漏洞,它允许用户将恶意代码植入网页。当其他用户访问此页面时,植入的恶意脚本将在其他用户的客户端执行。XSS泄漏的危害很多,客户端用户的信息可以通过XSS漏洞获取,比如用户登录的Cookie信息;信息可以通过XSS蜗牛传播:木马可以植入客户端;您可以结合其他漏洞攻击服务器,并在服务器中植入特洛伊木马。

  • 如何预防?

  • (1)与SQL注入防护的建议一样,假定所有输入都是可疑的,必须对所有输入中的script、iframe等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。

  • (2)不仅要验证数据的类型,还要验证其格式、长度、范围和内容。

  • (3)不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。

  • (4)对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。

  • (5)在发布应用程序之前测试所有已知的威胁。

  • 六、命定执行漏洞

  • 命令执行的漏洞。应用程序的某些函数需要调用可以执行系统命令的函数。如果这些功能或者功能的参数可以被用户控制,那么恶意的命令就有可能通过命令连接器拼接成正常的功能,从而可以随意执行系统命令。这就是命令执行漏洞,这是高风险漏洞之一

  • 常见网站漏洞就为大家介绍这么多,还有不懂的疑问可以咨询雨笋教育小编。对于网站漏洞的检查和修复每个企业和政府机构都需要慎重对待,特别是一些非常依赖网站的企业,例如金融、银行等机构,更是不能疏忽大意,毕竟一旦因为漏洞遭到入侵,那损失将会非常惨重。

  • 培养网络安全技术人才,让黑客无处遁形

  • 如果贵企业或者贵单位还未吸收网络安全方面的人才,看完这篇文章一定要重视起来。一不小心公司机密就泄露了,后悔莫急!

本文作者:雨笋教育-丹丹

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/160886.html

Tags:
评论  (0)
快来写下你的想法吧!

雨笋教育-丹丹

文章数:7 积分: 40

国家网络安全教育培训实战基地,为各行业定制培养及输送实战型网络安全人才 获取学习资料:15386496074

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号