zoukankan      html  css  js  c++  java
  • lamp服务器站点目录被植入广告代码

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

    欢迎来到 来到大浪涛天的博客

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

    1 产生背景

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

    2 解决思路

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

    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
  • 相关阅读:
    CentOS 7.1下KVM的安装与配置
    ORACLE常用命令
    linux下输出tomcat控制台信息
    express添加拦截器
    MySQL存储过程
    supervisor提高nodejs调试效率
    Eclipse Jetty调试时无法保存js文件
    eclipse读取含有extjs的项目文件时卡死
    springmvc4+hibernate4+activiti5.18(Maven)
    spring+jersey+c3p0构建restful webservice(数据源采用c3p0)
  • 原文地址:https://www.cnblogs.com/chacha51/p/13764843.html
Copyright © 2011-2022 走看看