对 BaiduXZH Submit PRO 插件的一次漏洞挖掘

Mr.Wu 142 4

前因

其实一开始根本没想过挖洞的,当时只是想看看他的授权验证是怎么写的,我以后做插件也需要加授权验证,先学习学习大佬的代码。

然而或许是职业病,说好的看验证,结果不知不觉看歪了.....[aru_2]

审计授权验证代码

跟进一下 active

提交数据到 http://xzh.i3geek.com/jihuo.php 根据 result 返回结果决定激活情况

偶遇漏洞一枚

好了好了,现在咱们回归正题,说说漏洞吧,其实就是他这个效验接口存在 SQL 注入漏洞

ROOT 哦,大佬为何如此疏忽,毫无过滤的注射 + ROOT 的权限[aru_53]

果断丢 SQLMAP 直接跑跑,看能否进一步

深入测试

获取 ROOT 密码

得到 ROOT 密码,在 CMD5 解密成功

信息收集

查看是否开启外链,是否做了 CDN

大佬,MySql 外链是个什么鬼?[aru_61]

提权思路整理

  1. 已知服务器上有一个 DZ 站点和一个 WordPress 站点,两个站均可以后台 GETSHELL ,就是不知道后台密码能不能解
  2. 利用 MySql 的 load_file() 函数 读取 DZ 的 uc_key ,利用 uc_key GETSHELL
  3. 寻找绝对路径,然后 --os-shell 执行交互 shell ,GETSHELL
  4. 通过 MySql 直接对服务器进行提权
  5. 还有一些小妙招,这里就不多叙述了

尝试 GETSHELL

上面的思路中,最简单快捷的方法就是寻找绝对路径然后交互写 SHELL

本来准备尝试寻找 DZ 以及 WordPress 爆路径漏洞,结果中途出了个很蛋疼的变故

利用解出来的 ROOT 密码,尽然通杀了,没错,通杀了[aru_77]

尝试通杀 SSH  失败,可能是阿里云机子给的随机密码,他没修改,不然估计还得让我继续通杀[aru_59]

邮箱也得到了,那么我相信,邮箱里或许会有一些重要的东西,比如阿里云账号登陆,比如支付宝等等。。。不过做人还得有底线,邮箱咱们就别去碰了,涉及个人隐私。

本来准备在这里写个一句话马的,但是这是个神马?大佬,我怎么感觉我不是第一个来照顾你的?[aru_93]

没法看看长啥样,各种 500 错误,申明一下,500 错误并不是我造成的,大佬可以自己查日志,我不会破坏任何东西的,我可是好淫

不过我不得不说,这个文件丫的就是个后门。。。

通过安装文件管理插件,成功 GETSHELL

阿里云 centos 加宝塔,提权服务器就不想了

修复建议

  1. 对 jihuo.php 文件中的 key 参数进行过滤
  2. 关闭 MySql 外链 , 如果一定需要,设置允许连接的白名单
  3. 密码建议不要用统一密码,并且密码强度设置高一点
  4. 大佬用的宝塔,使用宝塔对一些目录做限制,并且开启宝塔防火墙

结尾

并未做任何破坏,没有窃取任何东西,请及时修复漏洞,修复后本文章将公开发布。

另外,大佬,可否给个友链位置~ WordPress 求带。

漏洞已通知作者,请勿在继续尝试。

2019-05-011 更新

提交了老旧,作者终于上线啦,现漏洞以修复,取消本文密码保护,对外公开。

另感谢大佬的红包~[aru_26][aru_26]

广告

打赏
发表评论 取消回复
表情 图片 链接 代码

  1. 爱上极客

    麻烦博主把第一节,插件破解方式隐匿掉吧,或者适量打马。授权代码也是学习目的,不具备商业能力。暂不考虑后期的修复(防君子 不防小人)

分享
微信
微博
QQ