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