Ajax 實現(xiàn)網(wǎng)站劫持的檢測方法
https可以徹底解決劫持的問題。但是一般虛擬主機都不支持 https,難道http只能任流氓們惡意劫持么?
既然只有第一次訪問時才會出現(xiàn)抽獎鏈接,通過JS在瀏覽器中檢測,如果發(fā)現(xiàn) 被植入的 代碼,則自動刷新網(wǎng)頁,就可以解決被劫持的問題了。
現(xiàn)在要做的就是得到 被植入的代碼。找了一圈,沒有找到檢查的工具。網(wǎng)站傳輸?shù)娇蛻舻臑g覽器,需要三個步驟:【1】服務器 -> 【2】運行商 -> 【3】客戶瀏覽器。
劫持出現(xiàn)在第【2】步,因為離開了服務器,已經(jīng)不受控制了。但是第【3】部的瀏覽器可以通過JS來控制。通過 Ajax 上傳 客戶最終獲取到的代碼,就可以對進行分析了。
運行效果如下:
<?php //根據(jù)訪問域名,創(chuàng)建不同的目錄 $log_path = $_SERVER['SERVER_NAME']; if( !is_dir($log_path) ){ mkdir($log_path); } //根據(jù)訪客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); } //根據(jù)時間生成文件名 $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 . '"}'); //調用的函數(shù) 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
,然后在整站頁面中都加入 以下的代碼,就可以獲取到 所有的訪問記錄了。根據(jù)訪問記錄,得到 被植入的代碼后,就可以進行檢測腳本的開發(fā)了。
$(function(){ $.post('/log/page_tracert.php',{ url : location.href, head : $('head').html(), body : $('body').html(), },function(){}); });
注意:得到數(shù)據(jù)后,一定要盡快刪除 測試代碼。因為他會產生大量的日志,產生虛擬主機雙倍的流量消耗。
總結
以上所述是小編給大家介紹的Ajax 實現(xiàn)網(wǎng)站劫持的檢測方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
AJAX請求是否真的不安全?談一談Web安全與AJAX的關系
Ajax中沒有固有的安全漏洞,但是對該技術向量的適配顯著地改變了網(wǎng)絡應用的開發(fā)途徑以及方法論。AJAX請求的安全性是大家經(jīng)常會談論的一個話題,AJAX請求是否真的不安全?下面這篇文章就來給大家詳細談一談Web安全與AJAX關系的相關資料,需要的朋友可以參考下。2018-01-01使用Yii整合的pjax(pushstate+ajax)實現(xiàn)無刷新加載頁面
本篇文章給大家介紹Yii整合pjax(pushstate+ajax)實現(xiàn)無刷新加載頁面,小伙伴跟著小編一起學習吧2015-09-09