前言:
人在江湖漂,哪能不挨刀。我的博客在21号被黑了,想不到从来都是我黑人,如今却惨被人黑(哀痛脸)
其实挨刀不可怕,可怕的是他砍到了我这块铁板上,滋出了一溜的火花。所说知己知彼方能百战不殆,必须晓得对方是怎样拿下我网站的,倘若不分析出原由,下次被黑的还是我。
因此接下来,咱们要对全部入侵事件进行一次简单的分析。
博客基本状况
我博客用的系统是 centos6,博客程序是emlog的cms。模块是一个付费模块【fly】
说实话这个模块挺好看的,首次安装的时候我就D盾扫了下,瞧瞧是不是有后门,扫描结果除了发掘几个加密的php文件,其他看起来亦没啥毛病,因此就没管了,想不到便是这几个加密文件,才引起了博客被入侵。
被入侵的时间是8月21号,登录服务器后发掘文件被删,index.php文件被篡改。
文件修改时间是2018年8月21日18:04:15
被挂的黑页如下:
等等,这不是我运用的模块售后群吗?
难道是作者黑了我的站点?
当然不排除是其他黑客黑了以后故意甩锅给作者,因此咱们先来分析一下日志再说。
入侵过程分析
首先我博客是用宝塔的掌控面板,然则我888端口做了白名单,仅有跳板IP能够拜访这个端口,ssh端口亦做了白名单,无开放ftp,mysql无开放外联,waf用的云锁。
第1步咱们先登录云锁瞧瞧,在20号上下无发掘可疑日志。
那样咱们先瞧瞧日志吧,先拨号上跳板,而后输入xxxx.cc:888登录云锁掌控台。
而后进入【安全】菜单,点击web日志的路径进入。
而后下载19号之前和22号以后的日志
我的博客亦没啥流量,因此日志文件比较小,直接notepad++打开就行了。
由于之前看到那个黑页的修改时间是2018年8月21日16:15:15
因此直接定位到8月21日18点04分上下的部分起始看.
直接在notepad++里面查询关键词【.php】
而后定位到18点以后的部分。
疑似入侵者IP:222.240.56.48
查找一下,湖南长沙的
此刻咱们挨个文件瞧瞧他是怎样发起攻击的。
多做备份才可减少损失
由于博客上的文件已然被他删得差不多了,只剩下有些配图文件夹,不外还好对接了阿里云的oss。
每3天自动备份整站到阿里云oss。
这儿不得不赞一下阿里云的oss,倘若只是归档存储的话,价格很便宜,不下载备份文件不消付费,只要购买储存空间就行了
咱们登录阿里云掌控台,进入oss存储。
而后进入文件管理,能够看到在19号之前的备份文件都是30多M
然则22号以后备份仅有10多M了
因此咱们得下载19号的这个备份文件去恢复到博客。
点击19号这个文件,进入以后解冻文件,而后等大概两分钟就会解冻成功。
而后就能看到下载位置了,直接下载后上传到咱们博客,而后解压就行了。
----小提示----
在恢复站点前,咱们先闭站。
先把80端口和443端口加个白名单,只准许咱们的IP拜访,这般能够避免在你无查出问题之前,又被人给黑了。
官方后门 最为致命
他拜访的第1个文件
/include/lib/checkcode.php
咱们本地拜访以下瞧瞧,发掘这是验证码的文件。
第二个文件
/content/templates/FLY/inc/ajax.php?a=ajax
咱们直接拜访后表示;
{"code":"208"}
倘若管理员处在登录博客状态,会返回账号密码等等数据。
那样问题肯定出在这个ajax.php上面了,咱们打开瞧瞧。
厉害厉害,加密了,这儿非常感谢“空格表哥”帮忙解密了这个文件
咱们查询ajax瞧瞧,发掘在这儿,账号秘码被打印出来了。
日志里面发掘post了一个数据
/content/templates/FLY/inc/ajax.php?a=login
咱们在解密后的ajax.php里面搜索login瞧瞧
好家伙,官方后门真可怕,看到我注释的地区,已然明白大概是啥意思了。
咱们登录博客后台后,会把url 账号 秘码等等数据传送到作者的以下位置。
https://api.pjax.cn/i.php?data=
贴上代码
咱们继续往下看。
在这儿他上传了一个模块文件,而后安装。
由于日志里面无发掘他拜访了其他PHP文件,因此我首页文件index.php被修改的可能仅有一个,便是他上传的模块里面已然写好了黑页,而后上传模块,覆盖掉我网站上面的首页文件。
而后删除我的模块,这亦证明了为何只删除了模块,而我文案配图文件夹都还在的原由。
咱们该去找找攻击者了
先再确认一下是不是作者干的,经过日志已然晓得IP位置了。
222.240.56.48
查找是湖南长沙的。
没错了,便是你了,直接问下作者是啥意思。
事情已然很明了啦,由于我之前购买以后换过一次域名,作者以为我此刻这个域名是盗用了他的模块,而后把我日的,躺枪了,这他妈是误伤啊。然则模块存在后门这个是事实。
总结下过程
1.作者在
/content/templates/FLY/inc/ajax.php文件里面写了个后门
2.咱们正常登录后台以后,会自动把你的后台位置,账号秘码发送到作者哪里
3.而后作者那边有个授权列表,会做对比,倘若不在授权列表里面,会单独标记出来。
4.而后某一天你就被作者删模块,挂黑页了.....
避免被日办法
以防护软件【云锁】为例;
打开云锁,进入仔细设置
进入漏洞防护设置
新增一条防护规则
用正则禁止拜访/admin后台下的文件。
正则表达式;
/admin([\s\S]*?)
重视:新增这个规则以后你会没法拜访后台,不外你能够把你ip或跳板机加入白名单,以后仅有你跳板机和你IP能够拜访/admin下面的所有文件。
继续禁止ajax=login
([\s\S]*?)?a=login
禁止下列几个文件拜访
useragent_setting.php
install.php.lock
setting.php
functions.php
写在最后
虽然这是一块误伤事件,然则改变不了把我站黑了的事实,因此,我做了一个决定,直接公开你的模块,并写出避免被日的办法。
收费模块链接大众关注我后发私信索要就可
ajax文件后门部分已然被我注释掉了,表哥们安心运用便是了。
另一有几个加密文件无科研,有兴趣的表哥们自动解密科研瞧瞧。