当前位置: 首页 > 编程笔记 >

Ajax 实现网站劫持的检测方法

奚和光
2023-03-14
本文向大家介绍Ajax 实现网站劫持的检测方法,包括了Ajax 实现网站劫持的检测方法的使用技巧和注意事项,需要的朋友参考一下

https可以彻底解决劫持的问题。但是一般虚拟主机都不支持 https,难道http只能任流氓们恶意劫持么?

既然只有第一次访问时才会出现抽奖链接,通过JS在浏览器中检测,如果发现 被植入的 代码,则自动刷新网页,就可以解决被劫持的问题了。

现在要做的就是得到 被植入的代码。找了一圈,没有找到检查的工具。网站传输到客户的浏览器,需要三个步骤:【1】服务器 -> 【2】运行商 -> 【3】客户浏览器。

劫持出现在第【2】步,因为离开了服务器,已经不受控制了。但是第【3】部的浏览器可以通过JS来控制。通过 Ajax 上传 客户最终获取到的代码,就可以对进行分析了。

运行效果如下:

<?php
 //根据访问域名,创建不同的目录
 $log_path = $_SERVER['SERVER_NAME'];
 if( !is_dir($log_path) ){
 mkdir($log_path);
 }
 //根据访客IP,分别记录
 $log_path .= '/' . $_SERVER['REMOTE_ADDR'];
 if( !is_dir($log_path) ){
 mkdir($log_path);
 }
 //按天分组
 $log_path .= '/' . date('Y-m-d', time());
 if( !is_dir($log_path) ){
 mkdir($log_path);
 }
 //根据时间生成文件名
 $log_file = $log_path . '/' . date('His', time()) . '_' . rand() . '.html';
 //保存日志
 $html = '';
 $html .= 'URL:/' . post('url') . '<hr>';
 $html .= 'HEAD:<br><textarea cols="200" rows="40">' . post('head') . '</textarea><hr>';
 $html .= 'BODY:<br><textarea cols="200" rows="40">' . post('body') . '</textarea>';
 file_put_contents($log_file, $html);
 die('{"help":"http://www.miaoqiyuan.cn/p/browser-page-tracert/","log_file":"' . $log_file . '"}');
 //调用的函数
 function post($input){
 $post_str = isset($_POST[$input]) ? $_POST[$input] : '';
 $post_str = str_replace('\\', '', $post_str);
 $post_str = iconv_substr($post_str, 0, 50000); //防止恶意上传假日志
 return $post_str;
 }
?>

调用很简单,比如将 上边的php代码保存到了 /log/page_tracert.php,然后在整站页面中都加入 以下的代码,就可以获取到 所有的访问记录了。根据访问记录,得到 被植入的代码后,就可以进行检测脚本的开发了。

$(function(){
 $.post('/log/page_tracert.php',{
 url : location.href,
 head : $('head').html(),
 body : $('body').html(),
 },function(){});
});

注意:得到数据后,一定要尽快删除 测试代码。因为他会产生大量的日志,产生虚拟主机双倍的流量消耗。

总结

以上所述是小编给大家介绍的Ajax 实现网站劫持的检测方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍PHP+Ajax实时自动检测是否联网的方法,包括了PHP+Ajax实时自动检测是否联网的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP+Ajax实时自动检测是否联网的方法。分享给大家供大家参考。具体实现方法如下: html部分代码: php部分代码: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍C# ping网络IP 实现网络状态检测的方法,包括了C# ping网络IP 实现网络状态检测的方法的使用技巧和注意事项,需要的朋友参考一下 C# ping网络IP 实现网络状态检测的方法 以上这篇C# ping网络IP 实现网络状态检测的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍用js屏蔽被http劫持的浮动广告实现方法,包括了用js屏蔽被http劫持的浮动广告实现方法的使用技巧和注意事项,需要的朋友参考一下 最近发现网站经常在右下角弹出一个浮动广告,开始的时候以为只是浏览器的广告。 后来越来越多同事反映在家里不同浏览器也会出现广告。然后深入检查了下,发现网站竟然被劫持了。 然后百度了一大堆资料,什么http劫持、dns劫持、运营商劫持之类的,确定真的是中招

  • 劫持Uconnect 接下来你会发现,要想劫持Uconnect设备,并不需要远程入侵这辆吉普,但是,要想弄清楚如何探索头单元和其他部分,劫持是很有必要的。我们在这里提供了一些具体的信息来帮助那些热衷于访问头单元文件的用户。很显然,本地安全是整个汽车安全中很重要的一个部分。因为任何漏洞作者都会告诉你说,只有搞明白了目标系统中错综复杂的关系,你才能创建一个能完全发挥作用的漏洞。 总的来说,劫持Ucon

  •  说明 函数说明: 防劫持代码,分为两部分,一部分是放在页头,别一部分放在页尾 顶部脚本 <script>window.onerror=function(){return!0};var _liantong_report=function(){function n(n){o("fucklt","",n)}function o(n,o,a){var i={act:"/event",pro:"cont

  • 我的spring integration应用程序需要能够通过简单的配置更改在Kafka和传统消息传递库(tibco rendezvous,spring integration不提供任何默认出站网关实现)之间按需切换<传统消息传递库提供了一些基本的请求/回复方法 我试图找出提取出站消息网关(Kafka和legacy)的最佳方法,以便在我的主IntegrationFlow中(通过简单的配置更改)交换其

  • Summary "Clickjacking" (which is a subset of the "UI redressing") is a malicious technique that consists of deceiving a web user into interacting (in most cases by clicking) with something different t

  • MOSN 作为 Sidecar 使用时的流量劫持方案。 本文描述的是 MOSN 作为 Sidecar 使用时的流量劫持方案。 MOSN 作为 Sidecar 和业务容器部署在同一个 Pod 中时,需要使得业务应用的 Inbound 和 Outbound 服务请求都能够经过 Sidecar 处理。区别于 Istio 社区使用 iptables 做流量透明劫持,MOSN 目前使用的是流量接管方案,并在