网站的页面刷新很多次,总有几次偶发跳转恶意网站,找不到原因?

情况描述:

1,网站跑一直正常跑,现在也正常运行,今天发现一天SEO的权重掉为0。
2,经过排查同一域名下的H5端在点击链接时会偶发跳到恶意网站(一直点刷新就会复现)。
lQDPJw16eI8dHpbNA8DNAtCwAmkJ_tbXgnIEWsTn24A6AA_720_960.jpg
lQDPJweChP5-NtbNA8DNAtCwJYs8H8Y8MskEWsUMdsA6AA_720_960.jpg
image.png
3,PC端的就没有这个二次跳转的问题。

尝试过的方法

1,认为时某个公共的js库出了问题(包含恶意二次跳转),所以去查看了所有Network,查看源代码,搜索恶意域名代码等等,都找不到恶意跳转的域名信息。
2,排查了服务器的文件近期未被改动过。

希望:

1,有没有朋友遇到这类问题,希望可以给个排查的思路或者方向?
2,这个是不是Nuxt框架的漏洞一类的问题?

项目版本:

"dependencies": {

"@nuxtjs/axios": "^5.9.2",
"axios": "^0.19.2",
"cross-env": "^5.2.0",
"element-ui": "^2.4.11",
"koa": "^2.6.2",
"less-loader": "^5.0.0",
"nuxt": "^2.14.7",
"postcss-px2rem": "^0.3.0",
"vant": "^2.12.25"

},
"devDependencies": {

"less": "^4.1.1",
"node-sass": "^4.14.1",
"nodemon": "^1.18.9",
"sass-loader": "^8.0.0",
"scss-loader": "0.0.1"

}

可以有偿

阅读 4.5k
7 个回答

破案了,应该是第三方jQuery的问题,原来引入了一个jQuery地址是:“https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js”,替换为我们自己的CDN后问题就不再复现了。

排查过程:
一开始怀疑是npm或者Nuxt框架本身的问题,因为这是三年多的老项目了用的Nuxt1,所以用Nuxt3重构了项目 并且把重构后的项目放到新采购的服务器上测试,但是还是会恶意跳转。
于是进一步缩小范围怀疑是引入外链js的问题,逐步替换项目的几个外链js测试,发现替换完jQuery的外链后就无法复现了。

会不会是dns劫持,nuxt这种框架,不会出现这种离谱bug的

如果说局域网通过IP访问也能复现的话,我觉得那大概率是库有问题。

看是怎么搜索的,有可能域名跳转信息是经过编码后的,通过执行js得到的连接,不是直接写在代码里面。

  1. 把公共的库下载到本地,每次都从本地服务取,排除一下是不是公共的JS库被污染了,不是你们的域名被污染了。
  2. 把代码复制到其他电脑上,重新下载依赖,打包试试看还又没有一样的问题。
  3. 在设备上抓包,看看每次请求加载的数据接口是不是都是一样的。

如果代码在本地运行,依然会出现这个问题,可以对比下代码库的前后版本。

直接搜索跳转结果的域名大概率是找不到的,因为篡改的内容会进行各种转码编码,不会原样在代码中出现。


这个之前遇到过,某个网站总是偶尔跳转一些第三方页面,刚开始以为是 dns 劫持之类的原因;后来把服务器代码同步下来,对比了一下前后版本,发现有 js 文件被篡改,新增了一段代码。

新手上路,请多包涵

网站被劫持如何处理?1、网站域名被泛解析关闭域名的泛解析,进入了域名管理后台之后点击我们的域名找到带号的域名解析,删除掉就可以了。
2、黑客劫持对于备份文件,找到被修改的文件,清理木马程序即可(注意,请养成备份习惯,最少每个星期备份一次)这种情况下恶意代码植入也会被误认为是解析被劫持了,恶意代码无非就是获取到了你的网站文件的写入权限后篡改了一些文件实现的这种恶意跳转,将全站下载到本地通过第三方恶意代码扫描工具删除对应服务器目录上的可疑文件,完成后再重新上传覆盖原框架推荐个 Web 后门扫描排查工具——WebShellkiller
3、浏览器被劫持 这个通常情况下是浏览器自带的广告推广,特别是手机端非常的多,一般都直接卸载,重新安装一个浏览器。
4、运营商劫持这个劫持是最难以处理的,通常大家遇到的也是这种情况,如何处理这种情况就需要讲到HTTPS加密了,升级https即可

跳转就是通过 location和点击a标签的时候修改href属性.

我觉得可以看一下 a 标签上绑定的事件, 一个一个排除.

另外可以在页面最开始, 把 location改写一下, 记录看看有没有被修改.

再看看F12里面, 跳转到这个非法页面的触发来源点看看.

只有手机端有问题,pc端没有问题,那会不会就是你用于测试的手机本身被植入了链接,换个手机试试?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏