過去,我們通過分析擴(kuò)展就能很容易采集擴(kuò)展指紋?;谇鍐挝募姹?的谷歌Chrome擴(kuò)展,允許訪問擴(kuò)展的所有文件,就是通過相應(yīng)的URL來實(shí)現(xiàn):chrome-extension:///path/to/file.txt。因?yàn)樗袛U(kuò)展都有一個(gè)manifest.json文件,所以知道GUID后就可以請求下面的URL了:
chrome-extension://abcdefghijklmnopqrstuvwxyz012345/manifest.json
然而現(xiàn)在卻不是這樣了,現(xiàn)在的方法很是讓南昌網(wǎng)站設(shè)計(jì)小編郁悶,因?yàn)楝F(xiàn)在需要利用清單文件中列出的文件,稍微麻煩一點(diǎn)才能采集擴(kuò)展指紋。這簡直是太坑了。而且在清單文件版本2中,谷歌默認(rèn)不允許訪問擴(kuò)展的資源。
當(dāng)然,有些擴(kuò)展開發(fā)者依賴于資源可訪問才能正常工作。谷歌在manifest.json文件中,創(chuàng)建了一個(gè)新的數(shù)組,叫web_accessible_resources。這個(gè)數(shù)組列出了可以通過URL訪問的資源。
以下來自清單文件中的代碼片段,就是這樣一個(gè)被聲明的數(shù)組的例子,其中將logo.png、menu.html和style.css標(biāo)記為可訪問:
{
{
"name": "extensionName",
"version": "versionString",
"manifest_version": 2
},
"web_accessible_resources": [ "logo.png", "menu.html", "style.css" ]
}
對這個(gè)虛構(gòu)的擴(kuò)展而言,可以通過以下URL訪問logo.png資源:
chrome-extension://abcdefghijklmnopqrstuvwxyz012345/logo.png
實(shí)際上,只要兩個(gè)信息就可以采集目標(biāo)擴(kuò)展指紋了。第一個(gè)是GUID,待會南昌網(wǎng)絡(luò)公司會為大家介紹;第二個(gè)就是web_accessible_resources數(shù)組中定義了什么資源(如果有的話)。
慶幸的是,大多數(shù)擴(kuò)展都至少會在web_accessible_resources數(shù)組中聲明一項(xiàng)資源。知道這個(gè)資源后,接下來是找到擴(kuò)展的GUID(32位字符串)。只要到Chrome Web Store中抓取相關(guān)內(nèi)容就行了。
抓取的方法有兩種,可以手工抓取,也可以使用Kotowicz開發(fā)的XSS ChEF26之類的工具。這些工具會從Chrome Web Store下載并解壓擴(kuò)展,你可以使用它掃描manifest.json文件,并在此基礎(chǔ)上構(gòu)建你的Chrome擴(kuò)展指紋采集數(shù)據(jù)庫。
有了Chrome擴(kuò)展指紋數(shù)據(jù)庫,需要在勾連瀏覽器中運(yùn)行一些代碼,探測相應(yīng)資源。以前面的logo.png資源為例,可以生成以下代碼:
var testScript = document.createElement("script");
testURL = "chrome-extension://abcdefghijklmnopqrstuvwxyz012345/logo.png";
testScript.setAttribute("onload", "alert('Extension Installed!')");
testScript.setAttribute("src", testURL);
document.body.appendChild(testScript);
基于這段代碼的模式,可以迭代擴(kuò)展數(shù)據(jù)庫,迅速采集目標(biāo)擴(kuò)展指紋。
到這里,南昌網(wǎng)站設(shè)計(jì)小編就把使用清單文件采集指紋檢測拓展的方法已經(jīng)講完了,還是那句話,對于這種方法如果還有哪些不明白的地方,可隨時(shí)來電和我們聯(lián)系,我們一定專業(yè)為您解答!