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

Treetextbox编辑器遍历目录+上传漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-18 18:22:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  漏洞文件:ftb.imagegallery.aspx
  Q2 l: Y( n4 x% w
+ ?' }0 F6 o% U6 Y& f) b5 a, B  u2 I漏洞一:目录遍历
) n* u4 j+ n! Xftb.imagegallery.aspx?frame=1&rif=images&cif=../
( b) w5 I, q: Z2 a# v6 P不可以,过滤了/
; g; E5 [2 x; G3 R1 {% F- ]( h, Yftb.imagegallery.aspx?frame=1&rif=images&cif=..\. y; ~) y8 @" y- q8 z6 Q
可以!!过滤\符号 嘿嘿,能干什么自己知道了呗。" {- t8 n* u. `4 h6 ^
ftb.imagegallery.aspx?frame=1&rif=images&cif=..\.." m9 y( N& X7 |  s
漏洞二:上传漏洞) }* ~2 q& h- |$ ?% Z7 K$ d( x, k' G" o
没做登陆验证可以直接访问上传木马 FTBv3-3-1 可以直接上传任意格式的文件 Freetextbox 1.6.3 及其他版本可以上传 格式为 1.asp;.jpg 文件 上传后木马地址为http://网站地址/images/1.asp;.jpg. J# Y* V& V) ~  U9 g3 D/ U/ X
4 ^& o7 k( r3 l$ I4 J

3 H* _! u$ {; ^6 ]! V  |: O" @漏洞修补方案:0 s1 l6 o0 n# n6 j
% u" J, t; y6 G. E, h
添加代码加登陆验证
9 U$ g; {" Y. O2 Q6 i( n+ O, Zprivate void Page_Load(object sender, System.EventArgs e) {    string isframe = “” + Request["frame"];   Freetextbox上传图片是直接保留原文件名的,这个地方做个修改,上传文件使用时间串做文件名。
8 O1 O2 m9 T/ c0 Q$ l5 o% A% x* V- X! N, N) c+ a$ P9 J
修改方式如下:0 T1 z3 \  \* V2 ]1 a
; O8 Z* y3 k! z7 A6 L! v
找到 程序代码
2 [8 U) a- P$ @9 oUploadFileNameUploadFileName = UploadFileName.Substring(UploadFileName.LastIndexOf(“\\”)+1);    在其下面添加以下代码7 ~) ~# n# `3 x5 ]" b5 d# K
//********************* UploadFileName = DateTime.Now.ToString() + UploadFileName.Remove(0, UploadFileName.LastIndexOf(“.”)); UploadFileName = UploadFileName.Replace(“:”, “”).Replace(“-”, “”).Replace(” “, “”); //by Yation.Team 2009/7/17 上传文件用时间重命名7 K  N. D  O2 f* K( r4 I$ G2 m. M
以前已经有人公布过fb暴路径的方法 http*****.cn/helps/ftb.imagegallery.aspx?frame=1”在地址后面加上&rif=..&cif=..在访问 整个网站的目录就呈现在眼前了,下面还有上传删除等按钮… 修正方式如下: 找到 程序代码 if (cif != “” && rif != “”) {; L7 T& D: W& w. x' t
把RootImagesFolder.Value = rif;
7 l" E2 k" Y7 V% V3 z+ D% T- L8 ~/ f/ i  G0 A* j$ I' n
替换成
2 D6 X: x6 n* ?$ h* h程序代码 //***************************** RootImagesFolder.Value = DefaultImageFolder; Array srtArray = cif.Split(‘\\’); string str = srtArray.GetValue(0).ToString(); if (str != DefaultImageFolder) { cif = DefaultImageFolder; } cif = cif.Replace(“..\\”, “”).Replace(“../”,”");: Q# C( y% d* k# I
回复

使用道具 举报

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

本版积分规则

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