我拖着疲惫的身躯,努力打开眼皮在写...... 昨晚弄到12点,我感受应该弄好了。php
故事开头是这样的:我呢朋友有个网站须要开发,我当时没时间就包给外面的公司了,因为外面公司维护费用比较贵。html
那么网站维护就交给我了,我呢作软件开发不少年了,没用过PHP,因此算是新手。程序员
年前开始的某一天网站首页忽然就被修改了,点连接都停在首页,且偶尔会打开菲律宾的博彩网站。thinkphp
这下我开始紧张了,这网站访问量还比较大,不能出乱子啊。服务器
1.爱理不理框架
那么我赶快请外包公司的帮我看看,多是开发阶段结束了,没有给维护费用。ide
基本上对我是爱理不理,我说要电话给他,他就说在开会,固然你说在开会我就很差意思打搅了。thinkphp5
我其实也不是想他们帮我解决问题,也就是想更多的了解一些网站的结构信息和服务器信息,好作出一些哪里有问题的判断。工具
2.毫无头绪测试
服务器是外包公司代理管理的,那么我有的就是远程FTP上去改网站的权限。
那么我在想着首页怎么能被别人改了?难道黑客有我FTP的密码?
因而把首页改回来,改了一次密码。好了一天后面仍是又有问题了。
会不会是我ftp保存了密码 出问题了?后来又改了一次密码,每次链接不保存密码。
仍是同样,首页改好一天以后,貌似又出现问题。
奇怪了,因为我用的开源的FTP--FileZilla,我在想,不会是这个开源工具里面有植入病毒或木马吧。
果断换了个ftp工具,改了个ftp密码,修改回正确主页,过了一天仍是有问题。
我要奔溃了~~ (做为程序员,第一次感受这么的无助,由于它不是你所熟悉的语言和开发,运行环境)
3.了解框架
排除了ftp工具的问题以后,我开始怀疑是否是别的问题了,在网页里搜了一下“php index.php被修改”
搜出来一堆关于phpCMS框架的问题,而后一股脑发了7,8个关于问题解决的连接给外包公司。
可能这些连接提醒了他们,他们发现多是他们使用的开源框架有漏洞,因而乎给框架打上了补丁。
4.打上补丁,还有虫,为何呢?
打上补丁,觉得万事大吉了,确实好了一个星期(这一个星期恰好我也没对网站作任何操做和修改)
太好了,补丁打上,好了。(我看补丁上说漏洞补丁恰好是12月9号左右出来的,恰好能对得上主页被修改的日期,参考网站https://bbs.ichunqiu.com/thread-48687-1-1.html)
惋惜幸福来得忽然也去得快,我按客户需求又开始修改网站了。
改完,上传,测试工做以后,次日一看。我滴乖乖,主页又被替换了,我要奔溃了。
为何打算了补丁还有虫啊?
5.咨询高手
没办法了,只好处处找资料,看代码,分析TP5.0的框架,工做原理,就想找到点蛛丝马迹。
群里问了下高手,获得了两个关键词“路由”,“查看日志”。
高手们的帮忙,我真的非常感激。
“这个还要我教啊”--这句话 对我触动也是很大。咱们做为前辈(有些领域我仍是很资深的^_^)是否是考虑下新手的状况和心情。
咱们刚入门确实不知道该如何下手,固然对于前辈来讲,这些都是不值一提的理所固然。
(你可能头脑里又在想,查看日志应该是下意识行为啊,嗯,我主要是桌面应用比较多,一会儿确实忘了考虑网站的log了)
https://www.kancloud.cn/yunzhiclub/thinkphp5guide/165007
6.灵光乍现
“路由,路由”,而后网上搜tp5.0,路由设置,参考bug的补丁,发现建议强制路由。
那么设置了一下强制路由,然而网站不工做了......(固然应该是外包的没有按统一方法写代码)
那没办法,不能使用强制路由。
那查看日志吧,“日志,日志”,在哪里看哪个呢。我在网站根目录上一通寻找。
眼睛忽然一亮“wwwlogs”,嘿嘿,莫名的兴奋起来,这底下说不定有好东西。
问了下外包公司的,说“这底下log没什么用”。
我实在是也没别的办法了,先看看再说吧......
7.应该搞定了
日志一查,好家伙,发现问题了,下面这明显是不正常行为。应该是一个“后门”。
浏览到那个目录,查看了一下内容,果真index.php和.htaccess是个后门,果断删除。
仔细查了一遍,还有用临时文件作后门的,果断删除。
根据日志,还发现了其余后门,而后仔细回想一下,都符合上了服务器网页被修改的时间和行为。应该此次搞定了吧......
8.一些思考
此次抓虫花了我不少时间,也承受了来自客户的巨大压力。
特别是对某个东西不太理解做为新手那种的彷徨无助的感受。
一些感悟以下:
以为是很好的经历,因此写下来,做为之后的回忆,也但愿抓虫的过程,能给你们一些启发~~