Duomicms变量覆盖漏洞

变量覆盖

1.变量覆盖是指可以用我们的传参值替换程序原有的变量值
2.经常导致变量覆盖漏洞场景有:$$(可变变量)使用不当,extract()函数使用不当,parse_str()函数使用不当,import_request_variables()使用不当,开启了全局变量注册等

1 . extract()函数:从数组中将变量导入到当前的符号表 (来源:菜鸟教程)
[该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量,该函数返回成功设置的变量数目]
2 . parse_str()函数:把查询字符串解析到变量中 (来源:菜鸟教程)
[如果未设置 array 参数,由该函数设置的变量将覆盖已存在的同名变量]
3 . import_request_variables():将 GET/POST/Cookie 变量导入到全局作用域中
[例如:import_request_variable(“pg”, “ronin_”);意为,前缀为ronin_, POST变量将使用相同的名字覆盖$_GET变量,即POST变量值优先级高于GET]

:初次尝试审计,先找的是/upload/admin/admin_collect.php文件的$$变量覆盖漏洞,第一步先理清漏洞逻辑
在这里插入图片描述
:没看出有什么特别的,看了网上的wp https://www.cnblogs.com/Qiuzhiyu/p/11923471.html,找的是/upload/duomiphp/common.php的覆盖漏洞
在这里插入图片描述
:还是分析代码,理清逻辑
在这里插入图片描述
:经分析得到,要想利用这个变量覆盖漏洞,必须要满足传参合理,那么传参不为空,正则不能有cfg和GLOBALS,不能有cookie某个值传参
在这里插入图片描述
:因为想利用该漏洞获取管理员权限,可以通过修改传参的方法进入管理后台,在次之前我们要得到管理员的信息,查看/upload/admin/login.php登录文件,进行分析,发现其中有登录检测的代码,进一步分析
在这里插入图片描述
:在文件/upload/admin/login.php开头发现了一个疑似用户验证的文件,进入该文件
在这里插入图片描述
:找到SESSION变量怎么赋值,使用_session[]可以储蓄某些特定的用户的session信息
在这里插入图片描述
:所以,我们可以利用管理员的session信息,下一步我们要找到保持会话,即session的函数,保证持续以管理员的权限访问
在这里插入图片描述
在这里插入图片描述
:其中session对应的值实际上分别是,“duomi_admin_id”,“duomi_group_id”,“duomi_admin_name”
在这里插入图片描述
:全局搜索变量groupid,感觉/upload/duomiphp/check.admin.php是其中比较有意义的文件,查看文件,进行分析
在这里插入图片描述
:由此推测,管理员groupid变量为1,尝试以GET方式传参,利用_SESSION[duomi_admin_id]=1&_SESSION[duomi_group_id]=1&_SESSION[duomi_admin_name]=admin,先注册一个普通用户并登录
在这里插入图片描述
在这里插入图片描述
:进入http://127.0.0.1/Duomicms/upload/admin 管理员登录页面,确认是没有登入的在这里插入图片描述
:进入存在变量覆盖漏洞并且使用session传参的文件地址,例如127.0.0.1/Duomicms/upload/interface/comment.php以GET传参的方式,传出cookie,保存管理员的session
在这里插入图片描述

:再回到管理员登录页面http://127.0.0.1/Duomicms/upload/admin ,自动登入管理员后台
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值