【劫持】网页被注入广告
阅读目录
- 问题描述
- 问题分析
- 问题解决
- 为什么
你的网站是否在尾部出现了让人恼火的广告?
这次我算是遇到了这些流氓的广告。那么就让我们一步步攻克这些恼火的广告吧。
问题描述
某一天下午开始,我们制作的网站就开始被各种广告注入,类似上图这种。
还有在网页右下角出现的广告
发现问题的有: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
使用<meta http-equiv="X-Frame-Options" content="DENY">
据说可以禁用iframe于是拿来试试。
2、js禁用iframe
<script type="text/javascript">
if(top.location!=self.location)top.location=self.location;
</script>
在页面中使用类似如下的js,有很多的版本,我就列举其中一个。
3、css让iframe显示为空白
<style type="text/css">
iframe{v:expression(this.src='about:blank',this.outerHTML='');}
</style>
毕竟不是前端,所以css懂得不多,也就拷贝过来试一试。
4、在jsp页面头部加入协议
response.setHeader("X-Frame-Options", "SAMEORIGIN");
也是为了禁用iframe
5、自己手写js定时器循环检测页面iframe标签,并置空
失败了!你别尝试了!
-----------------------------------------------------上面是从iframe标签入手,下面是从js方向入手
6、使用js定时程序不停的清楚页面尾部标签
</body>
<div id="bottom"></div>
<script type="text/javascript">
setInterval(clearAd,1000);
function clearAd()
{
$("#bottom").nextAll().remove();
}
</script>
有效,但是广告会有一闪而过,如果把定时时间调快对于页面来说压力贼大
7、调整js名字
因为发广告的人重命名了我的js名字,我认为可能是因为自己的js名字被捕捉到了。
于是重命名了js的名字。
8、调整js位置
因为我的js写在了页面底部为了页面加载的速度,而广告在底部,我就想会不会是。
所以我将js调整到了head标签中。
-------------------------------------下面是从服务器和dns角度考虑的
9、更换了dns解析服务器
因为我发现这个页面放到别的服务器并不出现广告,或许是dns的问题,换成了官方的域名解析服务器。
10、很多人看到这里肯定已经看不下去了,老哥说了这么多,但是你没说结果啊!上面的方法到底行不行啊!
然后我要崩溃的告诉你,以上方法均不奏效,或者说效果不好。广告依旧猖狂。
最后我祭出了我的杀招,也就是最终的解决方案10,HTTPS大法
自从网站加上了https之后再也就没有出现过广告了。
然后我解释一下,为什么我要罗列一下上面的解决方案,一个是让别人不要走弯路了,一个是因为或许这个方法对我这个广告没用,但是对于别人是有用的。我只能过广告那么多种类,我也真的不确定。
为什么
那么为什么上面9种方法不行呢?我试着乱分析一下。
1、iframe标签法,我尝试直接把iframe标签删除之后发现广告依旧存在,也就是说广告并非都在iframe里面。
2、css方法,js方法。广告的js加载都是在我自己的js、css加载完成之后再运行他的,所以我们没有办法捕获到他生成的iframe或者生成的js
3、dns方法,相同的域名解析服务器,一个有广告,一个没有,问题应该不出现在dns上面。
为什么https行了呢?
加密之后网页没有办法被篡改了。。。
有什么弊端吗?
好的证书要钱。
不好的证书要命(浏览器不信任)
转自:https://www.cnblogs.com/linkstar/p/6856646.html
转载于:https://www.cnblogs.com/itplay/p/11150723.html
【劫持】网页被注入广告相关推荐
- html广告拦截网吧,python模拟网吧浏览器劫持网页弹广告
前一篇写了JS实现的userscript插件往网页里面注入代码,监听键盘获取用户输入的实现,发现userscript插件危险值很高,现在用python模拟下网吧浏览器劫持网页弹广告,警示下自己和喜欢在 ...
- 如何保护你的账户和财产不被Cookie劫持和HTML注入攻击?
随着互联网的普及,网络攻击也愈发猖獗,其中钓鱼攻击成为网络攻击的一大类别.钓鱼攻击指的是通过欺骗手段获取用户的敏感信息或者财产的行为.其中,利用Cookie劫持+HTML注入进行钓鱼攻击成为了攻击者非 ...
- xpose修改手机imei码,注入广告
何为hook Hook英文翻译过来就是"钩子"的意思,那我们在什么时候使用这个"钩子"呢? 我们知道,在Android操作系统中系统维护着自己的一套事件分 ...
- 屏蔽UC强制嵌入到网页的垃圾广告方法第二版
先强烈谴责鄙视下UC 这种无耻的.明目张胆的劫持网站流量的强盗行为 之前写过一篇关于 如何屏蔽UC强制嵌入到你网站页面上的垃圾广告 的文章 链接:https://blog.csdn.net/zhouz ...
- win10计算机无限弹网页,win10系统浏览网页时频繁弹出广告怎么办 Window10阻止网页弹出广告的四种方法...
使用win10系统电脑上网的用户,在打开网页浏览时经常会碰到一些广告弹窗.这样,不免让人感觉非常的困扰.那么,我们该怎样设置才能在windows10系统下阻止网页跳出广告弹窗呢?下面,小编就向大家分享 ...
- 如何让网页弹出确定_电脑去除网页上弹窗广告的操作方法
我们在上网查阅资料的时候,都需要打开浏览器上网页,总是有部分网站会有广告,要一个一个不停的关闭这些广告很烦人,严重影响了使用的体验,电脑如何屏蔽网页上弹窗广告?下面小编就教大家一个去除网页上弹窗广告的 ...
- 网页上的广告条设计[zt]
网页上的广告条设计[转贴] 网站上的Banner条,是网站用来作为盈利或者是发布一些重要的信息的工具.但是它又不能作为网页的主要内容,因为它的主要目的是吸引人的注意力,让人来购买某种商品,或者是让人注 ...
- html防止恶意广告,如何拦截恶意网页和弹窗广告?解决方法
我们平常在使用电脑上网的时候,电脑右下角经常会跳出广告,每次都要点击关闭,有时候点击关闭,还会出现跳转到那个广告页面的情况.不言而喻,这种情况已经影响了我们的上网体验,那这种情况究竟是什么原因呢?如何 ...
- 帝国织梦和各种php网页将局部广告进行屏蔽搜索引擎蜘蛛
帝国织梦和各种php网页 将局部广告进行屏蔽搜索引擎蜘蛛 搜索引擎收录的信息是以快照为准.百度站长工具里有一个抓取诊断功能,在使用后可以用它来测试 是否正常被屏蔽 网站SEO为什么要屏蔽广告? 广告有 ...
最新文章
- python爬虫能干什么-Python爬虫可以做什么?
- struct timeval结构体
- C++ MFC常用函数(转)
- opencv java 摄像头_使用OpenCV Java创建Windows摄像头扫码程序
- SpringMVC(三)——JSON
- 探析“Java序列化”之serialVersionUID
- idea 光标 快捷键_IntelliJ Idea 常用快捷键
- 2018.9.19作业
- bzoj1627[Usaco2007 Dec]穿越泥地*
- 【数字图像处理系列二】基本概念:亮度、对比度、饱和度、锐化、分辨率
- oracle内连接和外连接
- MATLAB -plotyy函数
- sobol灵敏度分析matlab_灵敏度分析_使用MATLAB编写.doc
- 【Python网络蜘蛛 · 8】:moviepy模块实现音频+视频的合成
- 支付业务与技术架构学习总结(10)——第三方支付账务系统论述
- Python爬取蓝奏云直链(获取真实文件地址)
- 数睿数据的四域模型(软件=数据+形式)源何引发强烈关注?
- Mac OS X 系统清理
- Python实现RSA数字签名一
- 喜剧电影《超能一家人》投资全方位分析
热门文章
- 黑马C++笔记——模板(CPP)
- 系统学习深度学习(六) --LSTM总结
- 2021年全球圆锥破碎机收入大约1357.4百万美元,预计2028年达到1665.6百万美元
- AIS文件分析-(using the OMAP-138 Bootloader)
- python中的英文歌_Python 爬网易音乐云歌曲,MV
- 错过就要多花 200 元,Unite 2017 Shanghai 五折抢票倒计时!
- Spark DAG与RDD
- 积分球辐射光源照度均匀性
- 【VMware】下安装OSX10.10-Yosemite【Mac】系统
- shell 变量五 字符串掐头去尾