溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ajax如何實(shí)現(xiàn)網(wǎng)站劫持的檢測方法

發(fā)布時(shí)間:2021-05-21 13:57:13 來源:億速云 閱讀:159 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)Ajax如何實(shí)現(xiàn)網(wǎng)站劫持的檢測方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

https可以徹底解決劫持的問題。但是一般虛擬主機(jī)都不支持 https,難道http只能任流氓們惡意劫持么?

既然只有第一次訪問時(shí)才會(huì)出現(xiàn)抽獎(jiǎng)鏈接,通過JS在瀏覽器中檢測,如果發(fā)現(xiàn) 被植入的 代碼,則自動(dòng)刷新網(wǎng)頁,就可以解決被劫持的問題了。

現(xiàn)在要做的就是得到 被植入的代碼。找了一圈,沒有找到檢查的工具。網(wǎng)站傳輸?shù)娇蛻舻臑g覽器,需要三個(gè)步驟:【1】服務(wù)器 -> 【2】運(yùn)行商 -> 【3】客戶瀏覽器。

劫持出現(xiàn)在第【2】步,因?yàn)殡x開了服務(wù)器,已經(jīng)不受控制了。但是第【3】部的瀏覽器可以通過JS來控制。通過 Ajax 上傳 客戶最終獲取到的代碼,就可以對進(jìn)行分析了。

運(yùn)行效果如下:

Ajax如何實(shí)現(xiàn)網(wǎng)站劫持的檢測方法

<?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ù)時(shí)間生成文件名
 $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 . '"}');
 //調(diào)用的函數(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;
 }
?>

調(diào)用很簡單,比如將 上邊的php代碼保存到了 /log/page_tracert.php,然后在整站頁面中都加入 以下的代碼,就可以獲取到 所有的訪問記錄了。根據(jù)訪問記錄,得到 被植入的代碼后,就可以進(jìn)行檢測腳本的開發(fā)了。

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

注意:得到數(shù)據(jù)后,一定要盡快刪除 測試代碼。因?yàn)樗麜?huì)產(chǎn)生大量的日志,產(chǎn)生虛擬主機(jī)雙倍的流量消耗。

關(guān)于“Ajax如何實(shí)現(xiàn)網(wǎng)站劫持的檢測方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI