前因
其实一开始根本没想过挖洞的,当时只是想看看他的授权验证是怎么写的,我以后做插件也需要加授权验证,先学习学习大佬的代码。
然而或许是职业病,说好的看验证,结果不知不觉看歪了.....[aru_2]
审计授权验证代码
跟进一下 active
提交数据到 http://xzh.i3geek.com/jihuo.php
根据 result
返回结果决定激活情况
偶遇漏洞一枚
好了好了,现在咱们回归正题,说说漏洞吧,其实就是他这个效验接口存在 SQL 注入漏洞
ROOT 哦,大佬为何如此疏忽,毫无过滤的注射 + ROOT 的权限[aru_53]
果断丢 SQLMAP 直接跑跑,看能否进一步
深入测试
获取 ROOT 密码
得到 ROOT 密码,在 CMD5 解密成功
信息收集
查看是否开启外链,是否做了 CDN
大佬,MySql 外链是个什么鬼?[aru_61]
提权思路整理
- 已知服务器上有一个 DZ 站点和一个 WordPress 站点,两个站均可以后台 GETSHELL ,就是不知道后台密码能不能解
- 利用 MySql 的 load_file() 函数 读取 DZ 的 uc_key ,利用 uc_key GETSHELL
- 寻找绝对路径,然后 --os-shell 执行交互 shell ,GETSHELL
- 通过 MySql 直接对服务器进行提权
- 还有一些小妙招,这里就不多叙述了
尝试 GETSHELL
上面的思路中,最简单快捷的方法就是寻找绝对路径然后交互写 SHELL
本来准备尝试寻找 DZ 以及 WordPress 爆路径漏洞,结果中途出了个很蛋疼的变故
利用解出来的 ROOT 密码,尽然通杀了,没错,通杀了[aru_77]
尝试通杀 SSH 失败,可能是阿里云机子给的随机密码,他没修改,不然估计还得让我继续通杀[aru_59]
邮箱也得到了,那么我相信,邮箱里或许会有一些重要的东西,比如阿里云账号登陆,比如支付宝等等。。。不过做人还得有底线,邮箱咱们就别去碰了,涉及个人隐私。
本来准备在这里写个一句话马的,但是这是个神马?大佬,我怎么感觉我不是第一个来照顾你的?[aru_93]
没法看看长啥样,各种 500 错误,申明一下,500 错误并不是我造成的,大佬可以自己查日志,我不会破坏任何东西的,我可是好淫
不过我不得不说,这个文件丫的就是个后门。。。
通过安装文件管理插件,成功 GETSHELL
阿里云 centos 加宝塔,提权服务器就不想了
修复建议
- 对 jihuo.php 文件中的 key 参数进行过滤
- 关闭 MySql 外链 , 如果一定需要,设置允许连接的白名单
- 密码建议不要用统一密码,并且密码强度设置高一点
- 大佬用的宝塔,使用宝塔对一些目录做限制,并且开启宝塔防火墙
结尾
并未做任何破坏,没有窃取任何东西,请及时修复漏洞,修复后本文章将公开发布。
另外,大佬,可否给个友链位置~ WordPress 求带。
漏洞已通知作者,请勿在继续尝试。
2019-05-011 更新
提交了老旧,作者终于上线啦,现漏洞以修复,取消本文密码保护,对外公开。
另感谢大佬的红包~[aru_26][aru_26]
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !
麻烦博主把第一节,插件破解方式隐匿掉吧,或者适量打马。授权代码也是学习目的,不具备商业能力。暂不考虑后期的修复(防君子 不防小人)
@爱上极客你的意思是去掉第一张图吗?
@Mr.Wu是的,第一张图,以及"他用这样的方式..."这行文字
@爱上极客哦了[aru_13]