阅读目录
问题描述
问题分析
问题解决
为什么
你的网站是否在尾部出现了让人恼火的广告?
这次我算是遇到了这些流氓的广告。那么就让我们一步步攻克这些恼火的广告吧。
问题描述
某一天下午开始,我们制作的网站就开始被各种广告注入,类似上图这种。
还有在网页右下角出现的广告
发现问题的有:1、手机端网页最为普遍,全部都是底部有广告。(app内嵌H5网页广告最多)
2、网页端网页极少出现,出现的均为运营商的广告。
3、无论有无登录,即使在需要登录才能被访问到的页面也有广告。
4、广告时有时无,刷新一遍页面之后基本不出现半个小时左右。
5、广告钓鱼链接很多。
问题分析
首先分析广告来源:
经过各方面的查找,确定了以下一些可能出现问题的来源。
1、DNS劫持,域名解析方面出现问题。
2、js注入,页面未对特殊字符限制。
3、iframe注入,页面被拦截之后加入了iframe标签,或者利用js注入后加载了广告的iframe标签。
4、服务器被黑。
对于广告本身来说,由于广告出现的时间随机,出现的页面随机,出现的广告随机,等特点,捕捉问题难度提高了。
因为对于广告本身来说,你不知道你使用的解决方法是否能马上起到效果。所以也增加了解决的难度。
然后分析一下实际出现的代码。
我把出现问题的页面保存了下来进行分析。
得到了以下的代码
我除去了我本来页面的代码。剩下的就是js加载的代码。
很明显,出现了两个问题。
1、页面底部出现了iframe标签,本不该存在的。
2、页面被加载了广告的js,本来肯定没有。
3、重复加载了一次我的js并且命名遭到修改simpleTip_wap.js(1)可以看出。
其他中招的页面也是同样的道理,这里就不贴了。
下面用chrome查看页面加载情况。
从加载的过程很明显可以看出,是js注入,通过伪造了一个js然后我加载了别人的,别人再加载了我的,别人再加载广告。导致页面本身不会出现问题,不影响正常使用,但是就是会出现广告了。
问题解决
作为毫无网站安全经验的小白。第一件做的事情肯定是查阅各种资料,寻找解决的方案。
先说明一下环境,因为本人是java开发,使用的是jsp页面。然后服务器使用的是centos7。容器tomcat。页面只有jquery和一个简单的提示js。简单的css。
对于网站安全来说,之前了解的都是有关业务的,这次第一次是这种无赖的页面。
下面列举我寻找到的各种解决方案,我都一个个做了尝试。请看到最后再开始写代码
1、meta禁用iframe
使用
据说可以禁用iframe于是拿来试试。
2、js禁用iframe
在页面中使用类似如下的js,有很多的版本,我就列举其中一个。
3、css让iframe显示为空白
毕竟不是前端,所以css懂得不多,也就拷贝过来试一试。
4、在jsp页面头部加入协议
response.setHeader("X-Frame-Options", "SAMEORIGIN");
也是为了禁用iframe
5、自己手写js定时器循环检测页面iframe标签,并置空
失败了!你别尝试了!
-----------------------------------------------------上面是从iframe标签入手,下面是从js方向入手
6、使用js定时程序不停的清楚页面尾部标签