漏洞文件:ftb.imagegallery.aspx
. _/ j' U/ d6 H+ J' j& u* i; p0 d( L! U) c5 u- m- R! T7 D
漏洞一:目录遍历
8 t- t7 H4 Y& h* o: f+ ~ftb.imagegallery.aspx?frame=1&rif=images&cif=../& u" a) ~& X5 t
不可以,过滤了/
0 \+ S9 ~/ G7 y, `7 Q5 g- `ftb.imagegallery.aspx?frame=1&rif=images&cif=..\
8 ~( \' r! @$ G可以!!过滤\符号 嘿嘿,能干什么自己知道了呗。8 w1 U% d" q, H
ftb.imagegallery.aspx?frame=1&rif=images&cif=..\..
5 q2 M' }* y: B漏洞二:上传漏洞2 ~8 O6 n, ^ [* f2 l
没做登陆验证可以直接访问上传木马 FTBv3-3-1 可以直接上传任意格式的文件 Freetextbox 1.6.3 及其他版本可以上传 格式为 1.asp;.jpg 文件 上传后木马地址为http://网站地址/images/1.asp;.jpg
- q! z6 g4 i; h3 | , r. m' q; D8 K& |: e+ O$ `
. F& x1 r# J* ~6 C; H# w3 ?2 @2 p漏洞修补方案:8 [1 ], n; l4 T
9 f) [; W, g. M. ^- B
添加代码加登陆验证
! [4 N& I4 i! u1 c& hprivate void Page_Load(object sender, System.EventArgs e) { string isframe = “” + Request["frame"]; Freetextbox上传图片是直接保留原文件名的,这个地方做个修改,上传文件使用时间串做文件名。
' n% f6 P' P1 t+ C/ _. j) S: Y4 k
修改方式如下:
7 p/ Y: {6 G% q! E# `& w2 t# l3 p- u' p" H1 K
找到 程序代码
$ {4 G/ s4 K7 PUploadFileNameUploadFileName = UploadFileName.Substring(UploadFileName.LastIndexOf(“\\”)+1); 在其下面添加以下代码
9 z" w5 r2 h3 G//********************* UploadFileName = DateTime.Now.ToString() + UploadFileName.Remove(0, UploadFileName.LastIndexOf(“.”)); UploadFileName = UploadFileName.Replace(“:”, “”).Replace(“-”, “”).Replace(” “, “”); //by Yation.Team 2009/7/17 上传文件用时间重命名. v* {$ [+ O5 b9 S' e$ G+ B% z
以前已经有人公布过fb暴路径的方法 http*****.cn/helps/ftb.imagegallery.aspx?frame=1”在地址后面加上&rif=..&cif=..在访问 整个网站的目录就呈现在眼前了,下面还有上传删除等按钮… 修正方式如下: 找到 程序代码 if (cif != “” && rif != “”) {* J4 P* h5 @5 @$ x! i
把RootImagesFolder.Value = rif;7 ]# X k6 @% v- Y
9 V: G; w) d, {! ] o6 C替换成* C: b, R7 q! k$ P. Z, s4 u% Z
程序代码 //***************************** RootImagesFolder.Value = DefaultImageFolder; Array srtArray = cif.Split(‘\\’); string str = srtArray.GetValue(0).ToString(); if (str != DefaultImageFolder) { cif = DefaultImageFolder; } cif = cif.Replace(“..\\”, “”).Replace(“../”,”");
0 b$ p3 ^: M6 T" {8 W3 J |