Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
究人員在QQ手機(jī)瀏覽器受到攻擊后發(fā)現(xiàn)了一種新型濫用基于HTML5 Ping的超鏈接審計(jì)特性的DDoS攻擊。
Imperva研究人員Vitaly Simonovich和Dima Bekerman監(jiān)測(cè)到一次攻擊,該攻擊最高點(diǎn)達(dá)7,500個(gè)請(qǐng)求/秒,并在4個(gè)小時(shí)內(nèi)從約4,000個(gè)用戶IP發(fā)出了超過7千萬個(gè)請(qǐng)求。什么概念呢?2016年類似的一次基于Android的手機(jī)DDoS攻擊是從27,000個(gè)獨(dú)特IP中實(shí)現(xiàn)了每秒400個(gè)請(qǐng)求的峰值。
新攻擊使用的是HTML5 ping屬性,其可以合法跟蹤網(wǎng)站鏈接上的點(diǎn)擊次數(shù),一些隱私人士甚至將其視為一種用戶跟蹤形式。'Ping ='包含在普通的在線超鏈接代碼中。單擊鏈接時(shí),會(huì)發(fā)送一個(gè)不可見的'ping ='url內(nèi)容變量,該變量也用戶看不到,網(wǎng)站管理員可以監(jiān)控、審核從特定網(wǎng)站發(fā)送特定鏈接的訪問者數(shù)量。
雖說這種新攻擊主要來自QQ瀏覽器用戶,但該技術(shù)幾乎可以應(yīng)用到任何瀏覽器上。Firefox是少數(shù)幾個(gè)默認(rèn)禁用ping屬性的瀏覽器之一;Chrome 74 Beta版本正在取消禁用超鏈接審核功能,這意味著可能在2019年5月發(fā)布后,Chromium瀏覽器(如Edge,Chrome,Opera和Safari)將永久啟用超鏈接審核。
用戶訪問經(jīng)兩個(gè)外部JavaScript文件而設(shè)計(jì)的網(wǎng)頁,其中一個(gè)含URL的數(shù)組,這也是主要針對(duì)游戲網(wǎng)站DDoS攻擊的目標(biāo);另外一個(gè)JS文件有一個(gè)函數(shù),它從數(shù)組中隨機(jī)選擇一個(gè)URL,創(chuàng)建帶有'ping'屬性的<a>標(biāo)簽,并以編程方式每秒點(diǎn)擊該鏈接。訪問者只要在瀏覽器中打開該網(wǎng)站,超鏈接審核ping就會(huì)向其發(fā)送,4,000多名用戶深陷其中、每小時(shí)最多可能超1400萬個(gè)請(qǐng)求。這種攻擊需要讓用戶訪問精心設(shè)計(jì)的網(wǎng)頁,并盡可能長(zhǎng)時(shí)間地在瀏覽器中打開。
研究人員提出一種可能的結(jié)合社會(huì)工程和惡意廣告場(chǎng)景,也許已經(jīng)在這次攻擊中使用:攻擊者將惡意廣告注入合法網(wǎng)站。網(wǎng)站越受歡迎,受DDoS的可能性就越大。之后,具有惡意添加的網(wǎng)站鏈接會(huì)被發(fā)布到大型微信群里。然后,訪問者和來自微信聊天組的訪問者將自動(dòng)、不知不覺地開始ping目標(biāo)URL,且將繼續(xù)以每秒一次的速率執(zhí)行此操作,以便在瀏覽器中打開中毒選項(xiàng)卡。
雖然這種攻擊方法有可能在任何地方用于對(duì)抗任何目標(biāo),但一個(gè)簡(jiǎn)單的防御方法是阻止任何包含邊緣設(shè)備上的”Ping-To“和/或”Ping-From“HTTP header的Web請(qǐng)求”(防火墻,WAF等),這會(huì)阻止ping請(qǐng)求不會(huì)命中你的服務(wù)器。
本文作者:Gump,轉(zhuǎn)載自:http://www.mottoin.com/detail/3892.html
avaScript 中實(shí)現(xiàn)自動(dòng)檢測(cè)用戶是否使用移動(dòng)設(shè)備,并據(jù)此跳轉(zhuǎn)到對(duì)應(yīng)的手機(jī)移動(dòng)網(wǎng)頁,通常可以通過檢查 ?navigator.userAgent?? 屬性來識(shí)別用戶代理字符串中包含的設(shè)備信息。以下是一個(gè)簡(jiǎn)單的示例,展示如何基于用戶使用的瀏覽器類型進(jìn)行判斷并跳轉(zhuǎn):
if (/(mobile|android|iphone|ipad|iemobile|windows phone)/i.test(navigator.userAgent)) {
// 如果是移動(dòng)設(shè)備,則跳轉(zhuǎn)到移動(dòng)版網(wǎng)站
window.location.href = "http://m.example.com"; // 替換為你的移動(dòng)版網(wǎng)站地址
}
這段代碼會(huì)檢測(cè) ??navigator.userAgent?? 中是否存在典型的移動(dòng)設(shè)備標(biāo)識(shí)符,如果存在,則認(rèn)為用戶正在使用移動(dòng)設(shè)備,并將頁面重定向到指定的移動(dòng)版網(wǎng)址。
然而,這種方法并不完全可靠,因?yàn)橛脩舸碜址强梢员粋卧斓模⑶译S著現(xiàn)代瀏覽器的發(fā)展,響應(yīng)式設(shè)計(jì)已經(jīng)更為推薦,可以根據(jù)屏幕尺寸而不是設(shè)備類型來優(yōu)化網(wǎng)站布局。
另外,也可以使用更現(xiàn)代的方法如 ??navigator.maxTouchPoints?? 或者媒體查詢 (??window.matchMedia??) 來輔助判斷:
// 檢查觸控點(diǎn)數(shù)量以大致推測(cè)是否為移動(dòng)設(shè)備
if (navigator.maxTouchPoints > 0 && screen.width < 768) {
window.location.href = "http://m.example.com";
}
// 或者使用媒體查詢結(jié)合CSS和JS
if (window.matchMedia("(max-width: 767px)").matches) {
window.location.href = "http://m.example.com";
}
對(duì)于復(fù)雜的設(shè)備檢測(cè)和更好的兼容性,可以考慮使用一些專門的庫,比如過去提到的 ??Device.js??,但請(qǐng)注意這個(gè)庫可能需要更新以支持最新的設(shè)備類型和瀏覽器特性。現(xiàn)在更多的實(shí)踐傾向于采用響應(yīng)式設(shè)計(jì)而非硬編碼跳轉(zhuǎn),除非有特殊需求。
在JavaScript中,如果你想根據(jù)用戶的設(shè)備(如手機(jī)或桌面設(shè)備)自動(dòng)跳轉(zhuǎn)到不同的網(wǎng)頁,你可以使用??window.location???對(duì)象來改變當(dāng)前頁面的URL。同時(shí),你可以結(jié)合??navigator.userAgent??字符串來判斷用戶設(shè)備的類型。
下面是一個(gè)簡(jiǎn)單的示例代碼,演示如何根據(jù)用戶設(shè)備類型自動(dòng)跳轉(zhuǎn)到不同的網(wǎng)頁:
javascript復(fù)制代碼
window.onload = function() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
// 檢查userAgent字符串中是否包含特定的手機(jī)標(biāo)識(shí)
var isMobile = /Mobile|iPhone|iPad|iPod|Android/i.test(userAgent);
if (isMobile) {
// 如果是移動(dòng)設(shè)備,跳轉(zhuǎn)到移動(dòng)版網(wǎng)頁
window.location.href = 'https://mobile.example.com';
} else {
// 如果是桌面設(shè)備,跳轉(zhuǎn)到桌面版網(wǎng)頁
window.location.href = 'https://www.example.com';
}
};
這段代碼首先會(huì)檢查??userAgent??字符串,看看是否包含任何移動(dòng)設(shè)備的關(guān)鍵字。如果找到關(guān)鍵字,就認(rèn)為用戶正在使用移動(dòng)設(shè)備,并自動(dòng)跳轉(zhuǎn)到移動(dòng)版網(wǎng)頁。否則,就認(rèn)為用戶正在使用桌面設(shè)備,并自動(dòng)跳轉(zhuǎn)到桌面版網(wǎng)頁。
請(qǐng)注意,這種方法并不是100%準(zhǔn)確的,因?yàn)橛脩舸碜址梢员挥脩艋蚰承┸浖鄹摹5牵瑢?duì)于大多數(shù)情況來說,這種方法是足夠有效的。
另外,現(xiàn)代的網(wǎng)站設(shè)計(jì)通常使用響應(yīng)式設(shè)計(jì)(Responsive Design)來適應(yīng)不同大小的設(shè)備和屏幕,而不是簡(jiǎn)單地根據(jù)設(shè)備類型進(jìn)行重定向。響應(yīng)式設(shè)計(jì)可以讓你的網(wǎng)站在各種設(shè)備上都有良好的用戶體驗(yàn)。
斷是蘋果手機(jī)還是安卓手機(jī),判斷是什么瀏覽器輸入網(wǎng)頁效果
實(shí)現(xiàn)javascript:
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。