记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

50cms个别版本的程序问题导致目录遍历

2013-04-18 22:15

不是IIS的目录遍历
详细说明:首先这个页面有一个问题,就是没有验证是否登录,比如:

public partial class Temple_File : System.Web.UI.Page
没有继承AdminBase类,所以没有登录的验证;

目前开放的源码里面,是做了一点简单过滤(考虑到了../)所以只能浏览跟目录,代码如下:

protected void BindData()
        {
            this.folder = base.Request.QueryString["folder"];

            if (string.IsNullOrEmpty(this.folder))
            {

                this.FileList.DataSource = GetFileList(base.Server.MapPath(this.lockpath + this.folder));
                this.DataBind();
            }
            else
            {
                if (!(this.folder.IndexOf("../") > -1))
                {
                    this.FileList.DataSource = GetFileList(base.Server.MapPath(this.lockpath + this.folder));
                    this.DataBind();           
                }
           
            }
        }

但是官网本身的版本较低,所以没有做任何过滤,浏览完了网站目录以后,把打包的站点一下,看了看数据库……OK,后台搞定


官网:
http://www.50cms.com/Admin/class/temple_file.aspx?folder=/..

下载那个wwwroot。搞搞进后台,搞搞拿到shell:


测试站:
http://test.50cms.com/Admin/class/temple_file.aspx?folder=/..




 


 




修复方案:

1.没有验证登录就不多说了,继承你们那个父类就好
2.过滤的时候选..就好,别后面加一个/,这样至少可以浏览一个根目录,然后官网本身的程序干嘛不跟上更新


知识来源: www.2cto.com/Article/201304/204168.html

阅读:117225 | 评论:0 | 标签:cms

想收藏或者和大家分享这篇好文章→复制链接地址

“50cms个别版本的程序问题导致目录遍历”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

ADS

标签云

本页关键词