记一次phpcms漏洞利用到获得服务器
by lshc
随着最近phpcms V9 任意上传和注入poc的流出,在圈内又掀起了一阵漏洞利用浪潮,想到之前遇到一个网站采用phpcms没能getshell,于是借此机会拿大佬发出的poc测试一番,本人小菜,大牛勿喷。
好了,言归正传,首先上传漏洞的利用需要一个外网服务器,在自己的外网服务器写下一句话:
我将发出的phpcms的sql注入和任意上传poc整合到一个脚本测试目标站点,发现该目标站点只有注入漏洞:
成功爆出后台用户名和密码 ,将密码拿到cmd5破解,还算幸运,成功解出密码,然后登陆后台 ,发现版本是9.5,怪不得没有最新版本的任意上传漏洞:
点击phpsso发现仍需密码登录,且不是之前解出的那个密码,尴尬
发现它可以在线升级版本,会不会升级了版本就存在了任意上传漏洞,
于是开始升级版本至9.6:
再次执行脚本:
ok上传一句话。
先访问一下上传文件看是否成功,ok,页面存在
上菜刀,纳尼,竟然被安全狗拦了,换成过狗菜刀和免杀一句话还是不行,心累。
对了,他不是可以任意上传嘛!!!
我把自己服务器上的文件内容换成php命令执行,看能不能正常执行命令
可以执行命令!又让我看到了希望,看一下当前用户,哈哈 是系统权限
再看看开放的端口,3389开着
看看允不允许外联,可以,到现在还算顺利,我受伤的心得到了安慰
下面来添加个隐藏账户吧net user lshc$ lshc /add
OK命令成功完成,感觉自己离着服务器又进了一步 ,哈哈,下一步添加到管理员组
我嘞个去,没有回显没有执行?先登陆试试,果然没有执行,太尴尬了,估计被安全狗给拦了!记得之前有大牛通过修改管理员密码登录的,我来尝试一下,net user administrator 123456
OK命令成功执行
现在远程登陆,拿到了服务器,
不过还没完事儿,要把管理员的密码改回来
将管理员密码恢复:
这里我使用mimikaz工具来查看系统缓存的管理员密码,得到管理员密码以后把密码改过来,还有为了防止之后管理员改密码还是要把自己之前的隐藏账户写进注册表才行,然后将自己的账户加进管理员组
拒绝访问,果然是安全狗在作怪,果断的关了它
关闭后成功执行:
将管理员对应键值添加到lshc$,这样以后登录自己用户仍可以看到管理员一举一动:
最后用自己的账号登录:
成功登录系统和管理员界面完全一样