漏洞文件:ftb.imagegallery.aspx
$ S$ c$ |6 w0 |. h/ g( T
+ p1 b% T9 V2 v漏洞一:目录遍历
; Z; _, T- p, ?; b0 {ftb.imagegallery.aspx?frame=1&rif=images&cif=../# D9 r9 `. q8 j/ |; w
不可以,过滤了// t- ?8 d1 W! C: J9 \" O; H
ftb.imagegallery.aspx?frame=1&rif=images&cif=..\
- c* }9 ~( W9 n$ e可以!!过滤\符号 嘿嘿,能干什么自己知道了呗。6 I# D! ?, V2 k2 }, Z
ftb.imagegallery.aspx?frame=1&rif=images&cif=..\..( b; N. g1 q& t: O
漏洞二:上传漏洞# \# W i- ]) [8 y
没做登陆验证可以直接访问上传木马 FTBv3-3-1 可以直接上传任意格式的文件 Freetextbox 1.6.3 及其他版本可以上传 格式为 1.asp;.jpg 文件 上传后木马地址为http://网站地址/images/1.asp;.jpg
$ `2 c8 h5 s. e) s% v/ @# W2 u: b
: r7 z7 e8 t! k8 k7 a0 t$ z
: X6 B5 z; @* r7 @& f漏洞修补方案:
+ N9 f! ~ O8 x$ h
, H# S' P: ?8 e) w0 L2 }1 x添加代码加登陆验证
3 _( s% y7 K% d& O v# L$ lprivate void Page_Load(object sender, System.EventArgs e) { string isframe = “” + Request["frame"]; Freetextbox上传图片是直接保留原文件名的,这个地方做个修改,上传文件使用时间串做文件名。
& \' ~. T$ ^7 I+ g5 ^! ?, p, U7 p0 y) J! q
修改方式如下:0 p O" h( [; M( T- u- ^5 P( |
8 u2 ^% m! y2 W; i找到 程序代码 , z5 A) a- E2 X& R1 c0 R! o
UploadFileNameUploadFileName = UploadFileName.Substring(UploadFileName.LastIndexOf(“\\”)+1); 在其下面添加以下代码
' X4 _; u x1 T2 u v# S6 Q' B3 f//********************* UploadFileName = DateTime.Now.ToString() + UploadFileName.Remove(0, UploadFileName.LastIndexOf(“.”)); UploadFileName = UploadFileName.Replace(“:”, “”).Replace(“-”, “”).Replace(” “, “”); //by Yation.Team 2009/7/17 上传文件用时间重命名* J* ^: G+ m2 t5 j' M. m% G/ @
以前已经有人公布过fb暴路径的方法 http*****.cn/helps/ftb.imagegallery.aspx?frame=1”在地址后面加上&rif=..&cif=..在访问 整个网站的目录就呈现在眼前了,下面还有上传删除等按钮… 修正方式如下: 找到 程序代码 if (cif != “” && rif != “”) {
. k; h" x& \3 \) E) t) e把RootImagesFolder.Value = rif;8 K' x! ^8 y2 S+ }4 H, @
1 `) P. x4 T- f+ Z1 Z z4 F替换成/ o# s4 J; P+ E, q2 i
程序代码 //***************************** RootImagesFolder.Value = DefaultImageFolder; Array srtArray = cif.Split(‘\\’); string str = srtArray.GetValue(0).ToString(); if (str != DefaultImageFolder) { cif = DefaultImageFolder; } cif = cif.Replace(“..\\”, “”).Replace(“../”,”");
; l" I$ }$ K1 _& Q: o |