开发者社区> 问答> 正文

[云代维案例]某网站被插入恶意JS代码的排查过程以及经验分享

客户的需求如下:


本来最近有别的事情做,时间和精力都有限,本来是不打算接的,告诉他找另外一个做代维的朋友,结果那边搞不了,而且考虑到认识的时间比较久了,最后还是接了这单。


因为是只有通过百度访问才出现,所以使用curl -e参数来模拟来路进行测试。
然后需要做的就是,按着PHP的执行流程,一路添加exit(‘test’),保存,curl访问,如果输出test,说明恶意代码还在后面,然后就把代码删除,继续在后面添加。
exit并不一定要一行或者几行的变位置,举个例子,100行的程序,你可以在50行的位置添加,这样一次就可以出是在前面50行还是在后面50行,第二次就能把精确缩小到25行。
如下图


找到代码最初出现的位置


使用了变量,继续查找变量位置


找到了变量位置,但是又出现了新的变量


使用相同的方法继续查找,一直删除到最后。
这个方法已经用了五六年了,很简单但是也很有效,低级语言的IDE都有设置断点的功能来调试程序,PHP本身并没有,等于是变相的实现了断点的功能。
除了查找恶意代码,这个方法也可以适用于查找解决各种各样的PHP故障和问题。

原文地址:http://www.yundaiwei.com/post/557.html

展开
收起
云代维 2016-04-16 11:31:27 5821 0
1 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载