今天中午客户找我说网站跳转到其他网站,我打开果然是跳转到违规网站。
首先想到的是用漏洞修改了网站首页源码,查看首页源码并没有看到异常,再次访问并没有跳转。于是更换浏览器访问果然还是跳转到恶意网址,测试只有在首次访问的时候才会跳转,再次访问就不会。
排查
排查1:源码打包下载并使用d盾检测--并没有异常
排查2:检测域名dns是否被污染等--并没有异常
最终全局查找跳转的网址在首页加载的js文件中找到了,到此终于找到了问题所在,js添加的代码如下:
代码解释:
- var c = document.cookie; // 获取当前文档的所有 cookie 字符串。
- if (c.indexOf('isfirstvisited=false') != -1) { // 如果 cookie 中包含 'isfirstvisited=false' 字符串,意味着用户已经访问过该网站,不执行任何操作。
- } else { // 如果 cookie 中没有 'isfirstvisited=false' 字符串,则进入此块,表示用户首次访问网站。
- var d = new Date(); // 创建一个新的日期对象。
- d.setFullYear(d.getFullYear() + 1); // 将日期设置为当前年份加上 1(即设置为明年同一时间)。
- document.cookie = 'isfirstvisited=false;expires=' + d.toGMTString(); // 设置一个名为 'isfirstvisited' 的 cookie,值为 'false',并设置其过期时间为一年后。
- location = '恶意网址'; // 重定向到指定的 URL。
- }
本次被黑原理是首次访问检测当前cookie是否有指定字符串,没有就跳转指定网址。
总结
后期遇到类似情况也可排查首页的js文件是否被篡改
2024年12月27日 下午5:02 沙发
小陈太厉害了,这篇文章我喜欢666!