• 还有半个月就走了…挺好的.
  • 无聊啊,最近也没啥更新的.
  • 妈的,写之前不说,写完了了你说不行.中途我还问你你说对.你真是中国第一Monkey
  • 沃妮马,过的真快!转眼又上班了.等待十月一.
  • 还有1天就是端午节了.过的真快, 在这个公司工作半年啦..
  • 咦~哪个弟弟CC我呢?
  • 简单,简单.我提个思路.
  • 不算今天还有2天就放假了.
  • 一切随缘,随波逐流.
  • 我的天啊,手欠把写了两天的项目删除了,回收站都没有!真是一干二净!心态爆炸!

慎重!SEMCMS后台存在越权漏洞

杂谈 KIENG 来源:Gcow安全团队 1年前 (2018-09-20) 109737次浏览 已收录 0个吐槽 扫描二维码

进入./admin/index.php
慎重!SEMCMS 后台存在越权漏洞
可以看到第一行就包含了当前目录下的core.php文件,我们进入这个文件看看
慎重!SEMCMS 后台存在越权漏洞慎重!SEMCMS 后台存在越权漏洞
这是core文件的不完整截图,但是仅仅只看这 47 行就足够了,我们来分析一下,
第一行是关闭错误,第五行包含核心文件,第 8 行包含配置文件,第 11,14 行实例化控制器和帮助类,第 17 行到 26 行是从cookie或者session获取登陆之后的身份,第 28 行到 47 行是一个判断和检测的过程,首先判断$account不等于null,随后将获取到的身份信息进行 base64 解码,带入数据库查询,因为他这里采用了预编译所以不存在 sql 注入,接着将查询到的内容放入$name中,然后判断$name[‘u_name’]是否设置,如果设置则判断$index_session是否等于null,如果等于,就重新将这个session赋值,所以我们一次越权就足够了,后面都不用经过 burp 抓包放包。
漏洞复现:
首先我们将参数名sem-cms_manager_index和账号 admin 进行 base64 加密,然后再 cookie 中以键值对的方式放到 cookie 中(base64(参数名)=base64(admin)),加密后如下:
c2VtLWNtc19tYW5hZ2VyX2luZGV4=YWRtaW4=这就是我们要放入 cookie 中的值
慎重!SEMCMS 后台存在越权漏洞
开启代理,接着开启 burp
慎重!SEMCMS 后台存在越权漏洞
我们现在来访问 http://localhost/admin/index.php,抓到如下的包
慎重!SEMCMS 后台存在越权漏洞
在最后加上我们构造的c2VtLWNtc19tYW5hZ2VyX2luZGV4=YWRtaW4=

我们将包放出去,看看页面
慎重!SEMCMS 后台存在越权漏洞
完全 ok 的,我们关闭代理,现在已经存在session了,不用每次都截取慎重!SEMCMS 后台存在越权漏洞
修复方案:
不要从外部获取参数,这样比较危险,移除获取cookie,只用session,如果坚持使用cookie的话,建议使用更复杂的加密获取账号密码来验证,这样将无法越权。


KIENG , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权
转载请注明原文链接:慎重!SEMCMS 后台存在越权漏洞
本文章链接:https://blog.kieng.cn/188.html
喜欢 (1)
KIENG
关于作者:
一个热衷网络的Man
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 快速获取昵称
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址