前言
这次检查并不是帮我,而是帮一位粉丝。当时私聊我的时候我还挺高兴的,至少得到了认可。
这次文章我也征求了他的同意才发出来的。也请别说我侵犯他人隐私。
过程
早上醒来的时候就看到了消息,原本我只想要个源码的,不过只有源码没有日志的话,也算一次不完整的检查。为了追求完美,还是恬不知耻的要了宝塔账户密码哈哈。一进去我就看到个更新消息,好家伙pma未鉴权漏洞还没修复,顺手给更新了。
一共是三个站点,第一个使用fastadmin二开的,另外两个是相同的不知名源码。其他两个站点相对于第一个来说不太重要,我就着重检查了第一个。
本来思路是用工具扫加审计的。不过源码备份下来500多m,下载速度也慢,几十kb的跑。算了还是手工吧。是的你没听错,我选择了一个最笨的方法。
一共1752个文件,用时间排序。找到最开始安装的日期,筛选下来还是有1000多个。没办法挨个看。顺手找了个逻辑漏洞
幸运的是,发现了一个接口文件有问题,顺手删了。因为这个接口文件使用file_get_contents函数下载文件到本地保存在cache目录。
还有个api.html文件,我想的是如果真是这个api.html文件有问题,那么上传肯定是能getshell的。
经过测试发现并不能,而且文件上传也限制过。
确认过安全后,接着回归另外两个网站。这两个网站才是重灾区。
一共6个马,分别在不同的地方,时间。码子内容也千奇百怪,都不相同。密码也是。看到文件名字
木马后门暂时改名待删除
敏感的我知道,一定还有个改名程序。翻了20多分钟才在APP/Lib/model/index/里找到了它。
经历了差不多两个多小时吧,人都看傻了,也希望各位多多自查。同时也感谢这位粉丝能够认可我。还有开发者们,真的没必要在程序里放后门,买卖不成仁义在,你觉得呢?