网站被劫持,大家分析下哪个环节出现问题?
发现异常
今天在用Chrome模拟器测试网站情况时,发现网站莫名出现广告,截图如下:
我的第一反应,完了,网站又被攻击了,连忙打开页面源代码,发现页面HTML源代码一切正常。
这是怎么回事了,经过反复测试,在电脑端访问 http://test1.fineui.com/ 时,一切正常,而在Chrome的手机模拟器下经常出现这个广告,看来这个流氓是瞄准了手机端,不方便调试的问题。
还好我用的是模拟器,F12打开调试工具,终于给我逮个正着:
看着满满当当的加载了一堆一堆的页面,其实只有第一个是我自己的,其他的都是流氓!!!
看下Network选项卡:
顺藤摸瓜,这第一个流氓请求是怎么来的,我找到了它的前一个请求 common.js ,这个的确是我自己的请求:
看来的确是被劫持了,这个正常的请求,也是我的页面上的最后一个JavaScript引用,被劫持了:
1. 响应状态是:302 Moved Temporarily
2. 重定向地址是:https://k.ningmengnm.cn/api/v1/URLUPDATE_gzth/l?dT1odHRwOi8vdGVzdDEuZmluZXVpLmNvbS9yZXMvanMvY29tbW9uLmpzP3Y1LjQuMCZ1aWQ9NzgyYmNiNGQ0N2RkJmlwPTExMy4xMDkuNDMuMTI4
这个流氓还颇费心机,来看下这个一串乱码的JS文件:
可以看到,这个文件的上半部分其实是 common.js 的完整代码,后半部分才是被劫持后新增的代码。
可见,这个流氓还是蛮心细的,为了防止网站出现JS错误而显示不了,还特意不要遗漏了网站之前的JavaScript代码。
这次拦截涉及流氓域名的不完全统计:
- https://zhuanxinzhizhi.cn/
- https://k.ningmengnm.cn/
- http://yumcs.xiaohuau.xyz:7002/
- http://58mingri.cn/
- http://www.75wv.cn/
- https://bad.rongdingwl.cn/
- http://www.akuai.top/
- https://yun.duiba.com.cn/
- https://a.urlat.cn/
- https://static.sellbuyshop.cn/
- https://st.wu81t.cn/
- https://bad.neetoo.cn/
现在问题来了
到底是哪里出了问题,各位程序员朋友,你有遇到这个情况吗?如何怎么规避这个问题?
希望大家能献计献策。