什么是软件漏洞 软件漏洞的概念 常见的漏洞类型有哪些

   2022-04-28 多特软件0
核心提示:什么是软件漏洞 软件漏洞的概念 常见的漏洞类型有哪些?软件漏洞就是软件制作时期未能完善的部分程序,这些程序容易让一些软件高手找出并进行软件内部的破解与破坏。  常见的漏洞类型有哪些一、SQL 注入漏洞  SQL 注入攻击( SQL Inje

  什么是软件漏洞 软件漏洞的概念 常见的漏洞类型有哪些?软件漏洞就是软件制作时期未能完善的部分程序,这些程序容易让一些软件高手找出并进行软件内部的破解与破坏。

  常见的漏洞类型有哪些

什么是软件漏洞 软件漏洞的概念 常见的漏洞类型有哪些

一、SQL 注入漏洞

  SQL 注入攻击( SQL Injection ),简称注入攻击、SQL 注入,被广泛用于非法获取网站控制权, 是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL 指令的检查,被数据库误认为是正常的SQL 指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。

  通常情况下, SQL 注入的位置包括:

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

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

  (3)Cookie 参数提交;

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

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

  SQL 注入的危害不仅体现在数据库层面上, 还有可能危及承载数据库的操作系统;如果SQL 注入被用来挂马,还可能用来传播恶意软件等,这些危害包括但不局限于:

  (1)数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。作为数据的存储中心,数据库里往往保存着各类的隐私信息, SQL 注入攻击能导致这些隐私信息透明于攻击者。

  (2)网页篡改:通过操作数据库对特定网页进行篡改。

  (3)网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。

  (4)数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被篡改。

  (5)服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。

  (6)破坏硬盘数据,瘫痪全系统。

  解决SQL 注入问题的关键是对所有可能来自用户输入的数据进行严格的检查、对数据库配置使用最小权限原则。通常使用的方案有:

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

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

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

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

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

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

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

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

  二、跨站脚本漏洞

  跨站脚本攻击( Cross-site scripting ,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。XSS 攻击使用到的技术主要为HTML 和Javascript ,也包括VBScript和ActionScript 等。XSS 攻击对WEB 服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。

  XSS 类型包括:

  (1)非持久型跨站: 即反射型跨站脚本漏洞, 是目前最普遍的跨站类型。跨站代码一般存在于链接中,请求这样的链接时,跨站代码经过服务端反射回来,这类跨站的代码不存储到服务端(比如数据库中)。上面章节所举的例子就是这类情况。

  (2)持久型跨站:这是危害最直接的跨站类型,跨站代码存储于服务端(比如数据库中)。常见情况是某用户在论坛发贴,如果论坛没有过滤用户输入的Javascript 代码数据,就会导致其他浏览此贴的用户的浏览器会执行发贴人所嵌入的Javascript 代码。

  (3)DOM 跨站(DOM XSS ):是一种发生在客户端DOM (Document Object Model 文档对象模型)中的跨站漏洞,很大原因是因为客户端脚本处理逻辑导致的安全问题。

  XSS 的危害包括:

  (1)钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者注入钓鱼JavaScript 以监控目标网站的表单输入,甚至发起基于DHTML 更高级的钓鱼攻击方式。

  (2 )网站挂马:跨站时利用IFrame 嵌入隐藏的恶意网站或者将被攻击者定向到恶意网站上,或者弹出恶意网站窗口等方式都可以进行挂马攻击。

  (3)身份盗用: Cookie 是用户对于特定网站的身份验证标志, XSS 可以盗取到用户的Cookie ,从而利用该Cookie 盗取用户对该网站的操作权限。如果一个网站管理员用户Cookie 被窃取,将会对网站引发巨大的危害。

  (4)盗取网站用户信息:当能够窃取到用户Cookie 从而获取到用户身份使,攻击者可以获取到用户对网站的操作权限,从而查看用户隐私信息。

  (5)垃圾信息发送:比如在SNS 社区中,利用XSS 漏洞借用被攻击者的身份发送大量的垃圾信息给特定的目标群。

  (6)劫持用户Web 行为:一些高级的XSS 攻击甚至可以劫持用户的Web 行为,监视用户的浏览历史,发送与接收的数据等等。

  (7)XSS 蠕虫:XSS 蠕虫可以用来打广告、刷流量、挂马、恶作剧、破坏网上数据、实施DDoS 攻击等。

  常用的防止XSS 技术包括:

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

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

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

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

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

  三、弱口令漏洞

  弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。设置密码通常遵循以下原则:

  (1)不使用空口令或系统缺省的口令,这些口令众所周之,为典型的弱口令。

  (2)口令长度不小于8 个字符。

  (3)口令不应该为连续的某个字符(例如: AAAAAAAA )或重复某些字符的组合(例如: tzf.tzf. )。

  (4)口令应该为以下四类字符的组合,大写字母(A-Z) 、小写字母(a-z) 、数字(0-9) 和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。

  (5)口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail 地址等等与本人有关的信息,以及字典中的单词。

  (6)口令不应该为用数字或符号代替某些字母的单词。

  (7)口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。

  (8)至少90 天内更换一次口令,防止未被发现的入侵者继续使用该口令。

  四、HTTP 报头追踪漏洞

  HTTP/1.1 (RFC2616 )规范定义了HTTP TRACE 方法,主要是用于客户端通过向Web 服务器提交TRACE 请求来进行测试或获得诊断信息。当Web 服务器启用TRACE 时,提交的请求头会在服务器响应的内容(Body )中完整的返回,其中HTTP 头很可能包括Session Token 、Cookies 或其它认证信息。攻击者可以利用此漏洞来欺骗合法用户并得到他们的私人信息。该漏洞往往与其它方式配合来进行有效攻击,由于HTTP TRACE 请求可以通过客户浏览器脚本发起(如XMLHttpRequest ),并可以通过DOM 接口来访问,因此很容易被攻击者利用。防御HTTP 报头追踪漏洞的方法通常禁用HTTP TRACE 方法。

  五、Struts2 远程命令执行漏洞

  Apache Struts 是一款建立Java web 应用程序的开放源代码架构。Apache Struts 存在一个输入过滤错误,如果遇到转换错误可被利用注入和执行任意Java 代码。网站存在远程代码执行漏洞的大部分原因是由于网站采用了Apache Struts Xwork 作为网站应用框架,由于该软件存在远程代码执高危漏洞,导致网站面临安全风险。CNVD 处置过诸多此类漏洞,例如:“ GPS 车载卫星定位系统”网站存在远程命令执行漏洞(CNVD-2012-13934) ;Aspcms 留言本远程代码执行漏洞( CNVD-2012-11590 )等。

  修复此类漏洞,只需到Apache 官网升级Apache Struts 到最新版本

  六、框架钓鱼漏洞(框架注入漏洞)

  框架注入攻击是针对Internet Explorer 5 、Internet Explorer 6 、与Internet Explorer 7 攻击的一种。这种攻击导致Internet Explorer 不检查结果框架的目的网站,因而允许任意代码像Javascript 或者VBScript 跨框架存取。这种攻击也发生在代码透过多框架注入,肇因于脚本并不确认来自多框架的输入。这种其他形式的框架注入会影响所有的不确认不受信任输入的各厂商浏览器和脚本。如果应用程序不要求不同的框架互相通信,就可以通过完全删除框架名称、使用匿名框架防止框架注入。但是,因为应用程序通常都要求框架之间相互通信,因此这种方法并不可行。因此,通常使用命名框架,但在每个会话中使用不同的框架,并且使用无法预测的名称。一种可行的方法是在每个基本的框架名称后附加用户的会话令牌,如main_display 。

  七、文件上传漏洞

  文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过Web 访问的目录上传任意文件,包括网站后门文件( webshell ),进而远程控制网站服务器。因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell 攻击。

  八、应用程序测试脚本泄露

  由于测试脚本对提交的参数数据缺少充分过滤,远程攻击者可以利用洞以WEB 进程权限在系统上查看任意文件内容。防御此类漏洞通常需严格过滤提交的数据,有效检测攻击。

  九、私有IP 地址泄露漏洞

  IP 地址是网络用户的重要标示,是攻击者进行攻击前需要了解的。获取的方法较多,攻击者也会因不同的网络情况采取不同的方法,如:在局域网内使用Ping 指令, Ping 对方在网络中的名称而获得IP;在Internet 上使用IP 版的QQ直接显示。最有效的办法是截获并分析对方的网络数据包。攻击者可以找到并直接通过软件解析截获后的数据包的IP 包头信息,再根据这些信息了解具体的IP。针对最有效的“数据包分析方法”而言,就可以安装能够自动去掉发送数据包包头IP 信息的一些软件。不过使用这些软件有些缺点, 譬如:耗费资源严重,降低计算机性能;访问一些论坛或者网站时会受影响;不适合网吧用户使用等等。现在的个人用户采用最普及隐藏IP 的方法应该是使用代理,由于使用代理服务器后,“转址服务”会对发送出去的数据包有所修改,致使“数据包分析”的方法失效。一些容易泄漏用户IP 的网络软件(QQ 、MSN 、IE 等)都支持使用代理方式连接Internet ,特别是QQ 使用“ ezProxy ”等代理软件连接后, IP 版的QQ 都无法显示该IP 地址。虽然代理可以有效地隐藏用户IP,但攻击者亦可以绕过代理, 查找到对方的真实IP 地址,用户在何种情况下使用何种方法隐藏IP,也要因情况而论。

  十、未加密登录请求

  由于Web 配置不安全, 登陆请求把诸如用户名和密码等敏感字段未加密进行传输, 攻击者可以窃听网络以劫获这些敏感信息。建议进行例如SSH 等的加密后再传输。

  十一、敏感信息泄露漏洞

  SQL 注入、XSS、目录遍历、弱口令等均可导致敏感信息泄露,攻击者可以通过漏洞获得敏感信息。针对不同成因,防御方式不同。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与爱美生活网(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 比利时vs斯洛伐克预测分析 比利时对斯洛伐克比赛的比分预测
    比利时vs斯洛伐克预测分析 比利时对斯洛伐克比
    比利时vs斯洛伐克预测分析 比利时对斯洛伐克比赛的比分预测,北京时间06月18日00:00,欧洲杯将会迎来比利时和斯洛伐克的交手,欧洲红魔”比利时的阵容豪华度在星光暗淡的E组里是特别的耀眼。  比利时 vs 斯洛伐克历史战绩  比利时vs斯
    06-19
  • 比利时对斯洛伐克分析 比利时和斯洛伐克比分
    比利时对斯洛伐克分析 比利时和斯洛伐克比分
    比利时对斯洛伐克分析 比利时和斯洛伐克比分,央视-5直播欧洲杯:比利时-斯洛伐克队。比利时目前世界排名第3,斯洛伐克足球世界排名第48位。以比利时的实力今晚将会轻松赢球,也是比利时黄金一代德布劳内这些老将的谢幕之战。  比利时对斯洛伐克分析
    06-19
  • 奥地利对法国历史比分  法国对奥地利足球战绩
    奥地利对法国历史比分 法国对奥地利足球战绩
    奥地利对法国历史比分 法国对奥地利足球战绩,随着欧洲杯的战火愈燃愈烈,一场备受瞩目的对决即将上演——法国队将在首战中迎战奥地利队。这场强强对话不仅考验着两支球队的实力,更将吸引全球球迷的目光。  奥地利对法国历史比分  历史对阵赛事比赛日期
    06-19
  • 欧洲杯奥地利vs法国比分 法国对奥地利比分预测
    欧洲杯奥地利vs法国比分 法国对奥地利比分预测
    欧洲杯奥地利vs法国比分 法国对奥地利比分预测,2024欧洲杯小组赛继续上演,身处D组的奥地利与法国将展开一番较量,夺冠大热门的法国第一场比赛能不能大获全胜让我们拭目以待!  奥地利是一支很有实力的球队,在预选赛他们差点拿到小组第1,在最近
    06-19
  • 土耳其对格鲁吉亚预测 土耳其vs格鲁吉亚历史交锋记录
    土耳其对格鲁吉亚预测 土耳其vs格鲁吉亚历史交
    土耳其对格鲁吉亚预测 土耳其vs格鲁吉亚历史交锋记录,2024 年欧洲杯F 组比赛将于周二晚上在多特蒙德开赛,土耳其队和格鲁吉亚队将争夺该组一场非常重要的比赛。  欧洲杯土耳其对阵格鲁吉亚的比赛备受关注。从球队实力来看,土耳其目前世界排名第
    06-19
  • 葡萄牙vs捷克历史战绩 欧洲杯:葡萄牙VS捷克
    葡萄牙vs捷克历史战绩 欧洲杯:葡萄牙VS捷克
    葡萄牙vs捷克历史战绩 欧洲杯:葡萄牙VS捷克,欧洲杯已经开赛,C罗领军的葡萄牙队被分入F组。葡萄牙队作为受关注度最多的球队之一,首轮小组赛压轴出场,他们的对手是捷克。在北京时间6月19日03:00,葡萄牙队就将亮相。  葡萄牙vs捷克之间
    06-19
  • 葡萄牙vs捷克的球员有哪些 欧洲杯第1轮葡萄牙大战捷克
    葡萄牙vs捷克的球员有哪些 欧洲杯第1轮葡萄牙大
    葡萄牙vs捷克的球员有哪些 欧洲杯第1轮葡萄牙大战捷克,当地时间六月十七日欧洲媒体消息,欧国盃小组赛F组首轮继续上演,届时由葡萄牙将对阵捷克。  双方整体实力差距巨大,葡萄牙不仅是佔据优势的一方,并且球队过去2次和捷克交手都斩获胜绩,球员信
    06-19
  • 葡萄牙vs捷克预测比分  葡萄牙对阵捷克
    葡萄牙vs捷克预测比分 葡萄牙对阵捷克
    葡萄牙vs捷克预测比分 葡萄牙对阵捷克,6月19日凌晨3点,本届欧洲杯将迎来小组赛第一轮最后一场比赛,F组的葡萄牙将会对阵捷克队。拥有C罗的葡萄牙是本届欧洲杯最受关注的球队之一,也是夺冠热门球队,而他们的对手捷克队则是一支来自东欧的劲旅,上
    06-19
  • 葡萄牙对捷克直播 葡萄牙对捷克欧洲杯直播在线观看地址
    葡萄牙对捷克直播 葡萄牙对捷克欧洲杯直播在线
    葡萄牙对捷克直播 葡萄牙对捷克欧洲杯直播在线观看地址,欧洲身价第三高、超10亿欧豪阵葡萄牙的2024年欧洲杯首战于北京时间6月19日凌晨3时打响,对手是捷克,比赛在莱比锡球场进行,央视CCTV5将会见证C罗第6次踏上欧洲杯之旅,直播本场比赛
    06-19
  • 克罗地亚vs阿尔巴尼亚比分预测 克罗地亚阿尔巴尼亚比分
    克罗地亚vs阿尔巴尼亚比分预测 克罗地亚阿尔巴
    克罗地亚vs阿尔巴尼亚比分预测 克罗地亚阿尔巴尼亚比分,本届欧洲杯,B组毫无疑问为竞争最激烈的死亡之组,集结3支世界排名前十队伍,除西班牙及意大利两大传统劲旅外,又有近两届世界杯都表现出众的克罗地亚;至于剩下的阿尔巴尼亚,虽阵中球员知名度不
    06-19
点击排行