有时候你通过搜索引擎查询的时候,明明页面标题显示的是一个合理符合预期的内容,但点击跳转后你会发现,它把你引导到一个非法页面(可能是情色页面,网赌页面等等)
这是为什么呢? 怎么把这个问题的原因找出来,今天一起来试试,同时也欢迎在评论区,分享你碰到的非法跳转说明,这边也可以辅助分析
可能的原因分析
搜索引擎劫持:
网站本身就是非法网站, 通过识别使用者(你),如果是搜索引擎的爬虫,它就会返回一个合法的页面信息(这样就会在搜索引擎的结果页面显示正常信息); 如何是一个普通用户,他就直接跳转到非法页面
合法页面被劫持:
一些网站的安全配置基础薄弱,可能被黑客通过非法方式链接到服务器本身,通过篡改合法页面(给合法页面内嵌非法的执行命令,如给html内嵌meta标签、JS的window.location.replace等)、修改服务端页面响应配置(如何301、302到非法页面等)
网络访问被劫持
使用本地的wifi不安全(使用了公共非安全wifi),连接到非法wifi后,黑客通过中间人拦截, 把合法网络地址强制映射到非法网站;
本地DNS被污染,合法的网址通过合法的DNS解析到正确ip进行访问, 非法的DNS(即被污染后),会把合法域名简析到非法ip,访问到非法网站等等
问题排除思路
如何判断合法页面被修改?
1, 在使用一些网页时如果是国内的网页,可以查看页面底部,头部等地方是否有备案信息(一般国内的合法网站都需要备案)
2, 当前的合法网站基本90%以上都已经使用了HTTPS作为URL的开头, 可以直接查看URL地址;
3, 查看HTTPS使用到的SSL证书是否有效
有效:
无效:
4, 如果以上信息都OK, 则可以打开浏览器的开发中调试工具(比如Chrome浏览器的调试工具)
重新把页面从搜索引擎开始,点击到自动跳转到非法页面的"网络请求"记录,都记录下;
5, 如果发现原有的访问URL返回302、301等跳转地址,就可以确认时服务端的问题,我们就暂时无法处理, 直接使用其他页面;
6, 如果没有返回302等,发现直接跳转访问到非法的URL时,就可以查看原合法页面的HTML文件信息,
1 | <!- 1,查看HTML的文件里面是否包含了类似的 META标签,导致了合法页面被篡改,类似如下-> |

如何判断网络访问被劫持?
切换不同的WIFI热点 OR 移动热点5G等, 看页面是否还继续跳转到非法页面。如果发现症状消失,则极有可能是该问题出现了
1,如果我们有基础的计算机知识,可以学习Wireshark软件 or 支持命令行的TcpDUmp等软件, 分析网络的访问包信息,TCP/DNS包等,如果发现DNS的包请求的SERVER信息有异常;或者用NSLOOKup,dig等命令,发现提供响应的server非预期,都可以基本打定DNS被污染
Wireshark的细节: wireshark的一些TIP信息
如何判断是DNS被污染
1,尝试使用已知公开可靠的DNS服务器地址,查看返回的域名简析IP
1 | nslookup example.com # 未修改DNS简析配置时 确认当前域名简析出的IP |
后续我们该怎么办
发现合法的页面跳转到了非法地址, 最直接的方法就是我们不用它呗。 如果我们还有兴趣我们还是可以联系网站的作者,把问题反馈给网站的管理员OR开发者
1, 通过查看网站的声明信息,获取网站的管理员邮箱, 比如打开地址(xxxx:网站域名): https://xxxx/.well-know/security.txt
2, 如果网站页面有备案信息,可以通过备案信息查询网站的管理员信息等
发网络访问被劫持,我们可以手动调整WIFI热点or使用流量访问,
1, 如果DNS被污染,我们可以手动清理并可以搜索引擎 搜索"国内可用DNS",进行手动修改DNS的配置等