用工具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]);"

访问

更多推荐