自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

百度“美杜莎偷拍插件”技術(shù)分析

安全
美杜莎是百度對(duì)其"偷拍插件"自己定義的名稱。它的原理是,百度插件上傳用戶屏幕截圖等信息,由服務(wù)端判斷用戶正在使用哪款瀏覽器,從而挾持百度鳳巢客戶資源針對(duì)360瀏覽器進(jìn)行不兼容提示。

美杜莎是百度對(duì)其"偷拍插件"自己定義的名稱。它的原理是,百度插件上傳用戶屏幕截圖等信息,由服務(wù)端判斷用戶正在使用哪款瀏覽器,從而挾持百度鳳巢客戶資源針對(duì)360瀏覽器進(jìn)行不兼容提示。

百度"偷拍插件"系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)

"美杜莎"分為網(wǎng)頁(yè)腳本、客戶端和服務(wù)端三個(gè)部分,三者交互完成密碼加密和瀏覽器檢測(cè)"二選一"目的。

當(dāng)用戶訪問(wèn)開(kāi)啟了"美杜莎"計(jì)劃的百度鳳巢(北京測(cè)試時(shí)需要外地代理),網(wǎng)站會(huì)先通過(guò)加載指定的JS腳本,彈出對(duì)話框要求用戶安裝插件。在用戶安裝完成后,用戶登錄界面上密碼框會(huì)變?yōu)檩斎肟丶妮斎肟?,如圖:

該插件會(huì)通過(guò)特殊方式獲得用戶輸入的密碼,加密后計(jì)算一個(gè)加密的密碼,在用戶選擇登錄時(shí):

首先會(huì)發(fā)送一個(gè)握手請(qǐng)求給服務(wù)端,包括插件的版本號(hào)等,請(qǐng)求獲取一個(gè)SID(Token),服務(wù)端若判斷插件有更新,則會(huì)返回需要更新,由網(wǎng)頁(yè)腳本彈出對(duì)話框提示:"控件已經(jīng)更新,請(qǐng)重新下載安裝!"

接著網(wǎng)頁(yè)JS腳本會(huì)調(diào)用控件的接口: sendEnvironmentInfo,收集當(dāng)前用戶的環(huán)境信息并發(fā)送給服務(wù)端,這是獨(dú)立于當(dāng)前網(wǎng)站的一個(gè)收集和判定系統(tǒng),由百度客戶端插件收集以下信息:

用戶的CPU信息

用戶的磁盤(pán)序列號(hào)

用戶的網(wǎng)絡(luò)IP地址、MAC地址和網(wǎng)關(guān)信息

用戶網(wǎng)絡(luò)DNS信息

用戶的當(dāng)前瀏覽器進(jìn)程名稱信息

用戶當(dāng)前啟動(dòng)的所有程序的進(jìn)程名稱信息

用戶當(dāng)前電腦屏幕的圖像截圖

除了屏幕截圖外,其它信息都使用AES加密算法進(jìn)行了加密。百度將全部這些信息打包編碼到數(shù)據(jù)包后,會(huì)通過(guò)加密的HTTP傳輸協(xié)議上傳到百度的服務(wù)器:https://isafe.baidu.com/cinfo,百度服務(wù)端解密后看到的數(shù)據(jù)如下:

偷拍插件采集數(shù)據(jù)上傳后,百度服務(wù)端程序會(huì)對(duì)上傳的數(shù)據(jù)做判定,然后給控件返回一個(gè)狀態(tài)碼,網(wǎng)頁(yè)腳本通過(guò)控件的getLastErrorCode接口獲取到這個(gè)狀態(tài)碼。當(dāng)服務(wù)端程序通過(guò)進(jìn)程信息或截圖判定用戶正在使用360瀏覽器,則返回-3這個(gè)狀態(tài)碼。

網(wǎng)頁(yè)腳本判斷如果返回的狀態(tài)碼是-3,那么就調(diào)用控件的getSendbackMessage接口,目的是獲得百度服務(wù)端返回的一段文字,并彈出對(duì)話框提示用戶更換其他瀏覽器。

在這個(gè)過(guò)程中,上傳信息判定是由百度云端決定的,彈框的文字也是由云端發(fā)送的,關(guān)鍵邏輯都由云控。

由于上傳信息非常豐富,因此百度云端判斷相當(dāng)靈活,不僅可以針對(duì)360瀏覽器不兼容,還可以針對(duì)系統(tǒng)中其他任何軟件做不兼容提示,提示文字也是完全云控、可隨時(shí)變化的,同時(shí)還可以隨時(shí)在服務(wù)端配置升級(jí),要求用戶更新插件,以便應(yīng)用新的信息采集和對(duì)抗策略。

百度"偷拍插件"技術(shù)原理

npBaiduSafeInput.dll控件的關(guān)鍵在于sendEnvironmentInfo這個(gè)函數(shù),它首先收集信息,收集的信息包括cinfo\bmp兩個(gè)字段。

cinfo字段包括了除了截屏之外的其它系統(tǒng)信息,是一個(gè)簡(jiǎn)單的key-value結(jié)構(gòu)數(shù)據(jù),使用AES加密算法進(jìn)行了加密,然后編碼為ASCII-HEX后,保存在數(shù)據(jù)包的cinfo字段中。

獲取cinfo.processlist字段系統(tǒng)進(jìn)程列表信息使用的API是ToolHelp32 系列API,通過(guò)對(duì)比當(dāng)前進(jìn)程Pid,在進(jìn)程列表中篩選出當(dāng)前瀏覽器進(jìn)程名并保存為cinfo.currentprocess字段。

截屏數(shù)據(jù)則通過(guò)GetDIBits截取屏幕指定區(qū)域的圖像并保存為BMP數(shù)據(jù),編碼為ASCII-HEX后,保存在bmp字段。

這些數(shù)據(jù)再加上之前獲取的sid數(shù)據(jù),和計(jì)算整個(gè)數(shù)據(jù)包的md5數(shù)據(jù),拼接成具有4個(gè)字段的數(shù)據(jù)包,通過(guò)WinHttp接口發(fā)送加密的HTTPS數(shù)據(jù)到http://isafe.baidu.com/cinfo這個(gè)百度服務(wù)器地址上。

綜上,百度用于判定用戶軟件使用情況的數(shù)據(jù)有:當(dāng)前進(jìn)程、進(jìn)程列表和屏幕截圖。以下為幾處代碼分析:

1、百度"偷拍插件"通過(guò)GetDIBits對(duì)用戶電腦屏幕截圖:

2、把截取的BMP數(shù)據(jù)編碼后發(fā)送到百度服務(wù)器:

3、抓取用戶的Cpu、磁盤(pán)序列號(hào)、ip地址、mac信息、網(wǎng)關(guān)信息、DNS信息和所有進(jìn)程列表上傳:

4、網(wǎng)頁(yè)腳本根據(jù)百度服務(wù)端返回的狀態(tài)碼彈出相應(yīng)提示,怎樣提示完全由服務(wù)端控制:

 

責(zé)任編輯:守望幸福 來(lái)源: 51CTO.com
相關(guān)推薦

2013-01-31 09:09:56

360安全中心偷拍插件

2012-03-23 12:12:37

百度開(kāi)發(fā)者大會(huì)

2014-07-25 17:12:39

數(shù)據(jù)庫(kù)WOT2014MongoDB

2013-08-22 17:08:50

2010-08-12 15:33:00

百度筆試

2017-04-28 19:28:39

百度技術(shù)學(xué)院繁榮技術(shù)

2018-09-30 10:58:20

云存儲(chǔ)原理網(wǎng)盤(pán)

2012-05-28 22:51:53

百度

2015-01-18 15:16:03

百度百度移動(dòng)分發(fā)百度91

2018-09-06 18:37:45

百度云

2015-09-25 16:41:03

APIStore百度技術(shù)革新

2024-01-09 07:48:07

推薦排序算法策略數(shù)據(jù)背景

2014-09-04 02:25:24

百度世界大會(huì)2014直達(dá)號(hào)BaiduEye

2011-10-21 09:28:25

百度地圖API

2012-10-19 09:47:30

百度云百度音樂(lè)云計(jì)算

2013-06-27 10:23:30

百度云百度開(kāi)放云

2016-03-25 11:18:23

中華網(wǎng)

2020-12-03 06:13:46

iOS

2011-06-03 16:04:05

SEO分詞
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)