客户的需求如下:
本来最近有别的事情做,时间和精力都有限,本来是不打算接的,告诉他找另外一个做代维的朋友,结果那边搞不了,而且考虑到认识的时间比较久了,最后还是接了这单。
因为是只有通过百度访问才出现,所以使用curl -e参数来模拟来路进行测试。
然后需要做的就是,按着PHP的执行流程,一路添加exit(‘test’),保存,curl访问,如果输出test,说明恶意代码还在后面,然后就把代码删除,继续在后面添加。
exit并不一定要一行或者几行的变位置,举个例子,100行的程序,你可以在50行的位置添加,这样一次就可以出是在前面50行还是在后面50行,第二次就能把精确缩小到25行。
如下图
找到代码最初出现的位置
使用了变量,继续查找变量位置
找到了变量位置,但是又出现了新的变量
使用相同的方法继续查找,一直删除到最后。
这个方法已经用了五六年了,很简单但是也很有效,低级语言的IDE都有设置断点的功能来调试程序,PHP本身并没有,等于是变相的实现了断点的功能。
除了查找恶意代码,这个方法也可以适用于查找解决各种各样的PHP故障和问题。
原文地址:http://www.yundaiwei.com/post/557.html
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。