Web服务器常见8种安全漏洞
# O, `7 P& l" s$ D( c. c Web服务器存在的主要漏洞包括物理路径泄露,CGI源代码泄露,目录遍历,执行任意命令,缓冲区溢出,拒绝服务,SQL注入,条件竞争和跨站脚本执行漏洞,和CGI漏洞有些相似的地方,但是更多的地方还是有着本质的不同。不过无论是什么漏洞,都体现着安全是一个整体的真理,考虑Web服务器的安全性,必须要考虑到与之相配合的操作系统。
' j( G) }1 A: V: g! S8 @" k- w2 y* S6 }: D
◆物理路径泄露
, g% ~% z. z2 b, {4 s4 n' q* r
- W- ?% K/ r0 ^* n; Q Z物理路径泄露一般是由于Web服务器处理用户请求出错导致的,如通过提交一个超长的请求,或者是某个精心构造的特殊请求,或是请求一个Web服务器上不存在的文件。这些请求都有一个共同特点,那就是被请求的文件肯定属于CGI脚本,而不是静态HTML页面。
. S9 z* T; l# Q& Z" S2 ^$ v) m0 U" f" X% ~$ v) I* X8 @
还有一种情况,就是Web服务器的某些显示环境变量的程序错误的输出了Web服务器的物理路径,这应该算是设计上的问题。
- e B; Q8 f" k& g$ W( d! |& V8 G& O3 @( m3 S2 j& Z* U7 s6 R$ U" t# h# D
◆目录遍历
' H% e6 @/ i' H7 h0 F* l3 b, Y; d; {3 t7 H0 v n. c
目录遍历对于Web服务器来说并不多见,通过对任意目录附加“../”,或者是在有特殊意义的目录附加“../”,或者是附加“../”的一些变形,如“..\”或“..//”甚至其编码,都可能导致目录遍历。前一种情况并不多见,但是后面的几种情况就常见得多,以前非常流行的IIS二次解码漏洞和Unicode解码漏洞都可以看作是变形后的编码。
8 @* e0 y1 a) T7 l2 A
& M& V# k, \. ^. C' I# P" Y◆执行任意命令
7 p( r$ @0 D3 m2 ~3 O& ~
3 N! B8 z4 H$ V9 T/ K执行任意命令即执行任意操作系统命令,主要包括两种情况。一是通过遍历目录,如前面提到的二次解码和UNICODE解码漏洞,来执行系统命令。另外一种就是Web服务器把用户提交的请求作为SSI指令解析,因此导致执行任意命令。
% U% `# u) A+ n; G1 B0 c4 Z7 q; F' N# b' ]* a
◆缓冲区溢出/ i4 ]: ^8 s0 z) R" b* w7 }
6 |" E' N2 L" R4 z2 G& J
缓冲区溢出漏洞想必大家都很熟悉,无非是Web服务器没有对用户提交的超长请求没有进行合适的处理,这种请求可能包括超长URL,超长HTTP Header域,或者是其它超长的数据。这种漏洞可能导致执行任意命令或者是拒绝服务,这一般取决于构造的数据。; U3 X- q- Q$ Q4 F* V
7 C6 A+ c, }6 q! Q0 _' ~# E◆拒绝服务
8 ?, L* w4 f, Q, ?2 O2 I1 ~$ u' Y1 d4 w+ O* C
拒绝服务产生的原因多种多样,主要包括超长URL,特殊目录,超长HTTP Header域,畸形HTTP Header域或者是DOS设备文件等。由于Web服务器在处理这些特殊请求时不知所措或者是处理方式不当,因此出错终止或挂起。
2 ?/ U! F! v$ Q x4 R) a
. e; P6 Z+ F$ O- i) d/ V# Z◆SQL注入
" h, g; K3 C8 l! T P6 x, ^. M, [9 H
SQL注入的漏洞在编程过程造成的。后台数据库允许动态SQL语句的执行。前台应用程序没有对用户输入的数据或者页面提交的信息(如POST, GET)进行必要的安全检查。数据库自身的特性造成的,与web程序的编程语言的无关。几乎所有的关系数据库系统和相应的SQL语言都面临SQL注入的潜在威胁 。
. ]. i. q- Z# u2 i8 {- |/ q5 a3 U- f' Y) N1 Z' p
◆条件竞争
1 e. }; V! D8 r, [$ e7 E
5 z; @: F4 g/ e6 ~9 B这里的条件竞争主要针对一些管理服务器而言,这类服务器一般是以System或Root身份运行的。当它们需要使用一些临时文件,而在对这些文件进行写操作之前,却没有对文件的属性进行检查,一般可能导致重要系统文件被重写,甚至获得系统控制权。
" n7 t( o, K2 I4 g8 S; D7 C1 [
1 g, @7 a- F! L1 i# r; a, m& U* @◆CGI漏洞
" X i4 _( U, _% [4 @3 x
P9 ~6 A0 C) q5 F/ q& o1 i4 @通过CGI脚本存在的安全漏洞,比如暴露敏感信息、缺省提供的某些正常服务未关闭、利用某些服务漏洞执行命令、应用程序存在远程溢出、非通用CGI程序的编程漏洞。2 _. f; j! O- {* H3 q' J* I
# j+ H: @' W' R' Y3 x上述文章内容概要地对Web应用系统存在的安全风险进行分析,当然还有更多的其它安全漏洞。叶子提醒基于web应用交易的企业用户,建议寻求专业的安全服务团队或机构对web应用的站点进行风险评估,以减少web应用系统的风险。
6 q4 U- J; m& a: @# Y" Z( e; M专业服务器托管租用商:15529362365,主营:服务器托管,服务器租用,云主机,带宽出租,机柜出租
9 G- f$ u9 f. o+ j) M" t6 x/ h/ \. P& w: L/ K9 z' \2 Q
|