日期:2014-05-17  浏览次数:21215 次

CSS漏洞

if (0 == user.FId) { //普通用户.
using (Bitmap map = new Bitmap (img)) {
using (Graphics g = Graphics.FromImage (map)) {
g.DrawString ("欢迎您使用此图片", new Font ("华文行楷", 200), Brushes.Red, new PointF (0, 0));
}
map.Save (context.Response.OutputStream, ImageFormat.Jpeg);
}
}
else if (1 == user.FId) { //收费用户.]
if (filename == "~/Images/" + filename) {
context.Response.WriteFile (img);
}
}
}

1、需求:在DownloadControl.ashx中控制“smallpanda.jpg”是“普通下载”还是“会员下载”(即将试用下载还是原图下载)
//这是下载页面的链接.
<a href="DownloadControl.ashx?filename=smallpanda.jpg">smallpanda</a>
<!--漏洞之在地址栏敲"DownloadControl.ashx?filename=../DownloadControl.ashx.cs"-->
    danger:进而能将DownloadControl.ashx.cs控制图片文件全部下载.
    solve: 这个怎么防哈?我怎么做都不行。

------解决方案--------------------
加个参数认证
cs里验证参数是否正确
------解决方案--------------------
发布到服务器上,源代码(*.cs)文件可以删掉了。
------解决方案--------------------
你不做认证的?直接敲地址,就是没有登录过只有正规登录的保留了session的才能访问下载页面。直接访问的报错就可以了。不是什么漏洞吧。
------解决方案--------------------
如果图片名字是固定的,后台路径就写固定算了呀~