亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種應(yīng)用程序的本地跨域漏洞檢測方法及裝置制造方法

文檔序號(hào):6546837閱讀:196來源:國知局
一種應(yīng)用程序的本地跨域漏洞檢測方法及裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種應(yīng)用程序的本地跨域漏洞檢測方法,包括:指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件;指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件;若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。本發(fā)明實(shí)施例還公開了一種應(yīng)用程序的本地跨域漏洞檢測裝置。采用本發(fā)明實(shí)施例,可自動(dòng)檢測待檢測應(yīng)用程序的本地跨域漏洞,檢測效率高。
【專利說明】 一種應(yīng)用程序的本地跨域漏洞檢測方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,尤其涉及一種應(yīng)用程序的本地跨域漏洞檢測方法及裝置。
【背景技術(shù)】
[0002]通常,應(yīng)用程序的私有文件不允許其它任何文件或應(yīng)用程序訪問,只有應(yīng)用程序本身可以訪問該私有文件,若該私有文件被非自身應(yīng)用程序的其它文件或應(yīng)用程序所訪問時(shí),說明該應(yīng)用程序存在本地跨域漏洞。
[0003]當(dāng)應(yīng)用程序存在本地跨域漏洞時(shí),黑客可利用該漏洞使終端自動(dòng)執(zhí)行一些黑客命令,如后臺(tái)下載惡意軟件、獲取用戶隱私,甚至篡改用戶的重要信息等。因此,對該類漏洞的檢測尤為重要。目前,常采用的解決方法是手動(dòng)觸發(fā)的方式來檢測,對應(yīng)用程序的安裝文件進(jìn)行反編譯,然后在反編譯后的原文件中查找特定代碼,從而確定該應(yīng)用程序是否存在本地跨域漏洞。然而,該方法需人工檢測,檢測效率低。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實(shí)施例提供一種應(yīng)用程序的本地跨域漏洞檢測方法及裝置,可自動(dòng)檢測待檢測應(yīng)用程序是否存在本地跨域漏洞,檢測效率高。
[0005]本發(fā)明實(shí)施例提供一種應(yīng)用程序的本地跨域漏洞檢測方法,包括:
[0006]指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件;
[0007]指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件;
[0008]若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
[0009]其中,所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件之前,所述方法還包括:
[0010]將所述待檢測應(yīng)用程序的安裝包文件導(dǎo)入裝有手機(jī)模擬器的計(jì)算機(jī)中;
[0011]根據(jù)所述安裝包文件在所述手機(jī)模擬器中安裝所述待檢測應(yīng)用程序。
[0012]其中,所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件之前,所述方法還包括:
[0013]檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能;
[0014]若是,執(zhí)行所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件的步驟;
[0015]若否,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
[0016]其中,所述檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能之前,還包括:
[0017]對所述待檢測應(yīng)用程序進(jìn)行解包處理,獲取所述待檢測應(yīng)用程序的配置文件,所述配置文件記錄有所述待檢測應(yīng)用程序是否具有提供訪問文件的功能。
[0018]其中,所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,包括:
[0019]通過adb調(diào)試工具給所述待檢測應(yīng)用程序發(fā)送包括訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件的操作指令。
[0020]其中,所述指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,包括:
[0021]所述共享文件中包括訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件的JavaScript腳本程序,所述待檢測應(yīng)用程序訪問所述共享文件后,通過所述JavaScript腳本程序自動(dòng)去訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0022]其中,所述指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,包括:
[0023]所述共享文件中加載有所述第二通用資源標(biāo)識(shí)符,所述第二通用資源標(biāo)識(shí)符指向所述待檢測應(yīng)用程序的私有文件;
[0024]所述待檢測應(yīng)用程序訪問所述共享文件后,若接收到訪問所述私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0025]其中,所述方法還包括:
[0026]輸出所述待檢測應(yīng)用程序的檢測結(jié)果,所述檢測結(jié)果包括漏洞信息和檢測時(shí)間。
[0027]其中,所述待檢測應(yīng)用程序?yàn)锳ndroid瀏覽器或內(nèi)置瀏覽器的Android應(yīng)用程序。
[0028]其中,所述方法還包括:
[0029]記錄所述待檢測應(yīng)用程序的特征信息,并將所述特征信息和所述檢測結(jié)果上傳至服務(wù)器。
[0030]其中,所述特征信息為所述待檢測應(yīng)用程序的包名和/或MD5值。
[0031]其中,所述方法還包括:
[0032]提示用戶所述待檢測應(yīng)用程序存在所述本地跨域漏洞。
[0033]其中,所述方法還包括:
[0034]修復(fù)所述待檢測應(yīng)用程序中存在的本地跨域漏洞。
[0035]其中,所述修復(fù)模塊還用于下載所述待檢測應(yīng)用程序的升級(jí)包文件,將所述升級(jí)包文件替換掉所述待檢測應(yīng)用程序中對應(yīng)的原始文件。
[0036]相應(yīng)的,本發(fā)明實(shí)施例還提供一種應(yīng)用程序的本地跨域漏洞檢測裝置,包括:
[0037]第一指示模塊,用于指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件;
[0038]第二指示模塊,用于指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件;
[0039]確定模塊,用于若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
[0040]其中,所述裝置還包括:
[0041]導(dǎo)入模塊,用于將所述待檢測應(yīng)用程序的安裝包文件導(dǎo)入裝有手機(jī)模擬器的計(jì)算機(jī)中;[0042]安裝模塊,用于根據(jù)所述安裝包文件在所述手機(jī)模擬器中安裝所述待檢測應(yīng)用程序。
[0043]其中,所述裝置還包括:
[0044]檢測模塊,用于檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能;
[0045]若是,指示所述待檢測應(yīng)用程序訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件;
[0046]若否,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
[0047]其中,所述裝置還包括:
[0048]獲取模塊,用于對所述待檢測應(yīng)用程序進(jìn)行解包處理,獲取所述待檢測應(yīng)用程序的配置文件,所述配置文件記錄有所述待檢測應(yīng)用程序是否具有提供訪問文件的功能。
[0049]其中,所述第一指示模塊,還用于通過adb調(diào)試工具給所述待檢測應(yīng)用程序發(fā)送包括訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件的操作指令。
[0050]其中,所述第二指示模塊還用于所述共享文件中包括訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件的JavaScript腳本程序,所述待檢測應(yīng)用程序訪問所述共享文件后,通過所述JavaScript腳本程序自動(dòng)去訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0051]其中,所述第二指示模塊包括:
[0052]加載單元,用于所述共享文件中加載有所述第二通用資源標(biāo)識(shí)符,所述第二通用資源標(biāo)識(shí)符指向所述待檢測應(yīng)用程序的私有文件;
[0053]訪問單元,用于所述待檢測應(yīng)用程序訪問所述共享文件后,若接收到訪問所述私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0054]其中,所述裝置還包括:
[0055]輸出模塊,用于輸出所述待檢測應(yīng)用程序的檢測結(jié)果,所述檢測結(jié)果包括漏洞信息和檢測時(shí)間。
[0056]其中,所述待檢測應(yīng)用程序?yàn)锳ndroid瀏覽器或內(nèi)置瀏覽器的Android應(yīng)用程序。
[0057]其中,所述裝置還包括:
[0058]上傳模塊,用于記錄所述待檢測應(yīng)用程序的特征信息,并將所述特征信息和所述檢測結(jié)果上傳至服務(wù)器。
[0059]其中,所述特征信息為所述待檢測應(yīng)用程序的包名和/或MD5值。
[0060]其中,所述裝置還包括:
[0061]提示模塊,用于提示用戶所述待檢測應(yīng)用程序存在所述本地跨域漏洞。
[0062]其中,所述裝置還包括:
[0063]修復(fù)模塊,用于修復(fù)所述待檢測應(yīng)用程序中存在的本地跨域漏洞。
[0064]其中,所述修復(fù)所述待檢測應(yīng)用程序中存在的本地跨域漏洞,包括:
[0065]替換模塊,用于下載所述待檢測應(yīng)用程序的升級(jí)包文件,將所述升級(jí)包文件替換掉所述待檢測應(yīng)用程序中對應(yīng)的原始文件。
[0066]實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
[0067]通過利用URI通用資源標(biāo)識(shí)符指示待檢測應(yīng)用程序訪問不屬于待檢測應(yīng)用程序的共享文件,該共享文件又指示待檢測應(yīng)用程序訪問屬于待檢測應(yīng)用程序的非共享文件,若成功訪問該非共享文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。采用本發(fā)明實(shí) 施例,可自動(dòng)檢測待檢測應(yīng)用程序的本地跨域漏洞,檢測效率高。
【專利附圖】

【附圖說明】
[0068]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0069]圖1是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測方法的流程示意圖;
[0070]圖2是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測方法的另一流程示意圖;
[0071]圖3是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測方法的又一流程示意圖;
[0072]圖4是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測裝置的結(jié)構(gòu)示意圖;
[0073]圖5是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測裝置的另一結(jié)構(gòu)示意圖;
[0074]圖6是圖5提供的其中一種第二指示模塊的結(jié)構(gòu)示意圖;
[0075]圖7是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測裝置的又一結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0076]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0077]在本發(fā)明實(shí)施例中,待檢測應(yīng)用程序可以是基于Android、塞班或蘋果1S等手機(jī)操作系統(tǒng)的應(yīng)用程序,也可以是基于計(jì)算機(jī)操作系統(tǒng)的應(yīng)用程序,本發(fā)明實(shí)施例對此不作任何限制。為方便說明,本發(fā)明實(shí)施例以基于手機(jī)操作系統(tǒng)的應(yīng)用程序?yàn)槔?br> [0078]請參見圖1,圖1是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測方法的流程示意圖,在本發(fā)明實(shí)施例中,該方法包括以下步驟。
[0079]SlOl:指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件。
[0080]Web上可用的每種資源(HTML文檔、圖像、視頻片段、程序等)都可由一個(gè)通用資源標(biāo)識(shí)符(UniformResource Identifier, URI)進(jìn)行定位。本發(fā)明實(shí)施例的實(shí)施方式可以是終端上具體的檢測軟件中對待檢測應(yīng)用程序進(jìn)行本地跨域漏洞的檢測,也可以是將待檢測應(yīng)用程序?qū)胙b有手機(jī)模擬器的計(jì)算機(jī)中進(jìn)行本地跨域漏洞的檢測,本發(fā)明實(shí)施例對此不作任何限制。為方便說明,本發(fā)明實(shí)施例以在手機(jī)模擬器中進(jìn)行檢測為例。具體的,在計(jì)算機(jī)中安裝手機(jī)模擬器,其中,手機(jī)模擬器基于手機(jī)的操作系統(tǒng)分為基于Android系統(tǒng)的手機(jī)模擬器、基于塞班系統(tǒng)的手機(jī)模擬器和基于蘋果系統(tǒng)的手機(jī)模擬器等,在本發(fā)明實(shí)施例中,手機(jī)模擬器的具體安裝類型應(yīng)根據(jù)待檢測應(yīng)用程序的類別來選擇,本發(fā)明實(shí)施例對此不作任何限制。例如:若待檢測應(yīng)用程序的安裝包為apk文件,則在計(jì)算機(jī)中安裝基于Android系統(tǒng)的手機(jī)模擬器。將待檢測應(yīng)用程序的安裝包文件導(dǎo)入裝有手機(jī)模擬器的計(jì)算機(jī)中,同時(shí),在手機(jī)模擬器中安裝待檢測應(yīng)用程序。其中,待檢測應(yīng)用程序的安裝路徑中包括共享文件和非共享文件(即私有文件,只有待檢測應(yīng)用程序自身可以訪問的文件)。在手機(jī)模擬器所處的存儲(chǔ)卡的根目錄上創(chuàng)建一個(gè)共享文件,該共享文件可以被所有的應(yīng)用程序訪問,根據(jù)該共享文件的保存路徑可以獲知指向該共享文件的第一通用資源標(biāo)識(shí)符,且該共享文件中包括或加載有第二通用資源標(biāo)識(shí)符,該第二通用資源標(biāo)識(shí)符指向待檢測應(yīng)用程序的私有文件,指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件。
[0081]作為一種優(yōu)選的實(shí)施方式,通過adb調(diào)試工具給待檢測應(yīng)用程序發(fā)送包括訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件的操作指令,指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,其中,所述共享文件不是該待檢測應(yīng)用程序的共享文件。adb (Android Debug Bridge,調(diào)試橋)是Android提供的一個(gè)通用的調(diào)試工具,借助該工具,通過命令管理設(shè)備或手機(jī)模擬器的狀態(tài)。
[0082]優(yōu)選的,在執(zhí)行所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件之前,還包括:檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能,若是,執(zhí)行所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件;若否,則可直接確定待檢測應(yīng)用程序不存在本地跨域漏洞。一般的,若應(yīng)用程序不提供訪問文件的功能,則其它任何程序均無法訪問該應(yīng)用程序所提供的文件,因此,若應(yīng)用程序不提供訪問文件的功能,則可直接確定待檢測應(yīng)用程序不存在本地跨域漏洞,而無需繼續(xù)執(zhí)行S102,提高檢測效率。具體的,對所述待檢測應(yīng)用程序進(jìn)行解包處理,其中,解包即壓包的反過程,將壓包文件還原成原來的初始文件,掃描待檢測應(yīng)用程序包括的所有文件,獲取待檢測應(yīng)用程序的配置文件,其中,所述配置文件中記錄有待檢測應(yīng)用程序是否具有提供訪問文件的功能。
[0083]S102:指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件。
[0084]具體的,由于第一通用資源標(biāo)識(shí)符所指向的共享文件是系統(tǒng)根目錄下所有應(yīng)用程序都可以訪問的共享文件,因此,在SlOl中,待檢測應(yīng)用程序是可以成功訪問所述共享文件的。進(jìn)一步的,待檢測應(yīng)用程序成功訪問第一通用資源標(biāo)識(shí)符所指向的共享文件后,該共享文件可自動(dòng)指示待檢測應(yīng)用程序繼續(xù)訪問該共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,例如:通過Javascript腳本的方式自動(dòng)去訪問第二通用資源標(biāo)識(shí)符所指向的私有文件??蛇x的,也可以由用戶點(diǎn)擊該共享文件中設(shè)置的包括第二通用資源標(biāo)識(shí)符的鏈接后再去訪問第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0085]S103:若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
[0086]具體的,應(yīng)用程序在進(jìn)行文件操作時(shí),系統(tǒng)均會(huì)根據(jù)操作結(jié)果返回一個(gè)日志信息,獲取訪問第二通用資源標(biāo)識(shí)符所指向的私有文件后的日志信息,所述日志信息中記錄有是否成功訪問該私有文件的狀態(tài)信息,若從該狀態(tài)信息中獲取到已成功訪問該私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞,即該待檢測應(yīng)用程序的私有文件可以被除自己外的其它應(yīng)用程序或文件向該待檢測應(yīng)用程序發(fā)起訪問請求,且該待檢測應(yīng)用程序根據(jù)該訪問請求成功訪問該私有文件。相應(yīng)的,若獲取到訪問所述私有文件失敗,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
[0087]若待檢測應(yīng)用程序存在本地跨域漏洞,將導(dǎo)致黑客獲取到該本地跨域漏洞后,給安裝了該待檢測應(yīng)用程序的終端執(zhí)行一些惡意操作,從而給終端帶來風(fēng)險(xiǎn),因此,若檢測出該應(yīng)用程序存在本地跨域漏洞,開發(fā)人員應(yīng)及時(shí)修復(fù)該漏洞。通常,開發(fā)者開發(fā)完一個(gè)新的應(yīng)用程序后,在進(jìn)行軟件發(fā)布前會(huì)對該應(yīng)用程序進(jìn)行本地跨域漏洞的檢測,若在手機(jī)模擬器中檢測出該應(yīng)用程序存在本地跨域漏洞,則根據(jù)檢測結(jié)果可指示開發(fā)者對該應(yīng)用程序進(jìn)行修改,進(jìn)行漏洞修復(fù);若該應(yīng)用程序發(fā)布后,終端在使用該應(yīng)用程序的過程中,通過具體的檢測軟件獲取到該應(yīng)用程序存在本地跨域漏洞,該終端可以獲取該應(yīng)用程序的特征信息,例如:應(yīng)用程序的包名和/或MD5值,將特征信息和檢測結(jié)果上傳至服務(wù)器,以使服務(wù)器獲知該特征信息所指定的應(yīng)用程序存在本地跨域漏洞,從而提示開發(fā)人員針對該漏洞對應(yīng)用程序進(jìn)行修改。開發(fā)人員對該應(yīng)用程序的本地跨域漏洞進(jìn)行修復(fù)后,可重新發(fā)布升級(jí)包文件,服務(wù)器可基于消息推送的機(jī)制使終端下載該升級(jí)包文件,將下載過來的升級(jí)包文件替換掉應(yīng)用程序中對應(yīng)的原始文件,從而對存在本地跨域漏洞的應(yīng)用程序進(jìn)行升級(jí),修復(fù)該漏洞。
[0088]在本發(fā)明實(shí)施例所描述的應(yīng)用程序的本地跨域漏洞檢測方法中,通過利用URI通用資源標(biāo)識(shí)符指示待檢測應(yīng)用程序訪問不屬于待檢測應(yīng)用程序的共享文件,該共享文件又指示待檢測應(yīng)用程序訪問屬于待檢測應(yīng)用程序的非共享文件,若成功訪問該非共享文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。采用本發(fā)明實(shí)施例,可自動(dòng)檢測待檢測應(yīng)用程序的本地跨域漏洞,檢測效率高。
[0089]請參見圖2,圖2是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測方法的另一流程示意圖,在本發(fā)明實(shí)施例中,該方法包括以下步驟。
[0090]S201:對所述待檢測應(yīng)用程序進(jìn)行解包處理,獲取所述待檢測應(yīng)用程序的配置文件。
[0091]具體的,將所述待檢測應(yīng)用程序的安裝包文件導(dǎo)入裝有手機(jī)模擬器的計(jì)算機(jī)中,并根據(jù)所述安裝包文件在所述手機(jī)模擬器中安裝所述待檢測應(yīng)用程序。然后對待檢測應(yīng)用程序進(jìn)行解包處理,解包即壓包的反過程,將壓包文件還原成原來的初始文件,掃描待檢測應(yīng)用程序包括的所有文件,獲取待檢測應(yīng)用程序的配置文件,其中,所述配置文件中記錄有待檢測應(yīng)用程序是否具有提供訪問文件的功能。
[0092]S202:檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能。
[0093]具體的,根據(jù)獲取到的配置文件檢測待檢測應(yīng)用程序是否具有提供訪問文件的功能,若是,執(zhí)行S203 ;若否,則直接確定所述待檢測應(yīng)用程序不存在本地跨域漏洞,執(zhí)行S206。
[0094]S203:指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件。
[0095]優(yōu)選的,通過adb調(diào)試工具給待檢測應(yīng)用程序發(fā)送包括訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件的操作指令,指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,其中,所述共享文件不是該待檢測應(yīng)用程序的共享文件。
[0096]S204:指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件。[0097]作為一種可能的實(shí)施方式,待檢測應(yīng)用程序成功訪問第一通用資源標(biāo)識(shí)符所指向的共享文件后,該共享文件可自動(dòng)指示待檢測應(yīng)用程序繼續(xù)訪問該共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,其中,所述私有文件為所述待檢測應(yīng)用程序的非共享文件。
[0098]作為一種優(yōu)選的實(shí)施方式,所述第一通用資源標(biāo)識(shí)符所指向的共享文件中包括訪問第二通用資源標(biāo)識(shí)符所指向的私有文件的JavaScript腳本程序,執(zhí)行該JavaScript腳本程序自動(dòng)去訪問第二通用資源標(biāo)識(shí)符所指向的私有文件。因此,待檢測應(yīng)用程序訪問所述共享文件后,通過所述JavaScript腳本程序自動(dòng)去訪問第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0099]作為另一種優(yōu)選的實(shí)施方式,所述第一通用資源標(biāo)識(shí)符所指向的共享文件中加載有第二通用資源標(biāo)識(shí)符,所述第二通用資源標(biāo)識(shí)符指向待檢測應(yīng)用程序的私有文件;待檢測應(yīng)用程序訪問所述共享文件后,若接收到訪問所述私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。具體的,可以是測試人員點(diǎn)擊該第二通用資源標(biāo)識(shí)符發(fā)出訪問該私有文件的確認(rèn)指令,也可以是通過程序設(shè)置成共享文件被訪問后,進(jìn)而自動(dòng)發(fā)出訪問該私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0100]S205:若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
[0101]具體的,若獲取到成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞;若獲取到訪問所述私有文件失敗,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
[0102]S206:輸出所述待檢測應(yīng)用程序的檢測結(jié)果,所述檢測結(jié)果包括漏洞信息和檢測時(shí)間。
[0103]具體的,待確定完待檢測應(yīng)用程序是否存在本地跨域漏洞后,將檢測結(jié)果進(jìn)行輸出,所述檢測結(jié)果包括漏洞信息和檢測時(shí)間。例如:假設(shè)檢測時(shí)間為2000年I月I日13:27,若待檢測應(yīng)用程序不存在本地跨域漏洞,可輸出:該應(yīng)用程序不存在本地跨域漏洞,檢測時(shí)間為2000年I月I日13:27 ;若待檢測應(yīng)用程序存在本地跨域漏洞,可輸出:該應(yīng)用程序存在本地跨域漏洞,檢測時(shí)間為2000年I月I日13:27。
[0104]優(yōu)選的,待確定完待檢測應(yīng)用程序是否存在本地跨域漏洞后,保存該待檢測應(yīng)用程序的檢測結(jié)果,并標(biāo)記該待檢測應(yīng)用程序已檢測,方便下次檢測時(shí)直接根據(jù)已保存的信息獲取該應(yīng)用程序的檢測信息,減少重復(fù)操作。具體的,在系統(tǒng)中給待檢測應(yīng)用程序創(chuàng)建一個(gè)標(biāo)記文件,其中,用“ I”標(biāo)識(shí)所述待檢測應(yīng)用程序已完成本地跨域漏洞的檢測,用“O”標(biāo)識(shí)所述待檢測應(yīng)用程序未進(jìn)行本地跨域漏洞的檢測,將該狀態(tài)標(biāo)志位默認(rèn)置為“0”,當(dāng)確定完待檢測應(yīng)用程序是否存在本地跨域漏洞后,再將該狀態(tài)標(biāo)志位置為“ I ”,并將檢測結(jié)果保存在指定的保存路徑中。當(dāng)下一次對該待檢測應(yīng)用程序進(jìn)行本地跨域漏洞的檢測時(shí),首先去獲取系統(tǒng)中是否有該待檢測應(yīng)用程序的標(biāo)記文件,若有,查看狀態(tài)標(biāo)志位是否為1,若狀態(tài)標(biāo)志位為“1”,直接去指定的存儲(chǔ)單元中獲取該待檢測應(yīng)用程序的檢測結(jié)果;若系統(tǒng)中沒有該待檢測應(yīng)用程序的標(biāo)記文件,為該待檢測應(yīng)用程序創(chuàng)建一個(gè)標(biāo)記文件,將狀態(tài)標(biāo)志位默認(rèn)置為“0”,執(zhí)行S201,待確定完待檢測應(yīng)用程序是否存在本地跨域漏洞后,將狀態(tài)標(biāo)志位更新為I并保存檢測結(jié)果;若系統(tǒng)中有該待檢測應(yīng)用程序的標(biāo)記文件,但狀態(tài)標(biāo)志位為“0”,執(zhí)行S201,待確定完待檢測應(yīng)用程序是否存在本地跨域漏洞后,將狀態(tài)標(biāo)志位更新為I并保存檢測結(jié)果。
[0105]在本發(fā)明實(shí)施例所描述的應(yīng)用程序的本地跨域漏洞檢測方法中,通過利用URI通用資源標(biāo)識(shí)符指示待檢測應(yīng)用程序訪問不屬于待檢測應(yīng)用程序的共享文件,該共享文件又指示待檢測應(yīng)用程序訪問屬于待檢測應(yīng)用程序的非共享文件,若成功訪問該非共享文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。采用本發(fā)明實(shí)施例,可自動(dòng)檢測待檢測應(yīng)用程序的本地跨域漏洞,檢測效率高。
[0106]請參見圖3,圖3是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測方法的又一流程示意圖,在本發(fā)明實(shí)施例中,該方法包括以下步驟。
[0107]S301:檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能。
[0108]若是,執(zhí)行S302 ;若否,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
[0109]S302:指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件。
[0110]優(yōu)選的,通過adb調(diào)試工具給待檢測應(yīng)用程序發(fā)送包括訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件的操作指令,指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,其中,所述共享文件不是該待檢測應(yīng)用程序的共享文件。進(jìn)一步優(yōu)選的,待檢測應(yīng)用程序?yàn)锳ndroid瀏覽器或內(nèi)置瀏覽器的Android應(yīng)用程序。
[0111]S303:指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0112]作為一種可能的實(shí)施方式,待檢測應(yīng)用程序成功訪問第一通用資源標(biāo)識(shí)符所指向的共享文件后,該共享文件可自動(dòng)指示待檢測應(yīng)用程序繼續(xù)訪問該共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,其中,所述私有文件為所述待檢測應(yīng)用程序的非共享文件。
[0113]作為一種優(yōu)選的實(shí)施方式,所述第一通用資源標(biāo)識(shí)符所指向的共享文件中包括訪問第二通用資源標(biāo)識(shí)符所指向的私有文件的JavaScript腳本程序,執(zhí)行該JavaScript腳本程序自動(dòng)去訪問第二通用資源標(biāo)識(shí)符所指向的私有文件。因此,待檢測應(yīng)用程序訪問所述共享文件后,通過所述JavaScript腳本程序自動(dòng)去訪問第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0114]作為另一種優(yōu)選的實(shí)施方式,所述第一通用資源標(biāo)識(shí)符所指向的共享文件中加載有第二通用資源標(biāo)識(shí)符,所述第二通用資源標(biāo)識(shí)符指向待檢測應(yīng)用程序的私有文件;待檢測應(yīng)用程序訪問所述共享文件后,若接收到訪問所述私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。具體的,可以是測試人員點(diǎn)擊該第二通用資源標(biāo)識(shí)符發(fā)出訪問該私有文件的確認(rèn)指令,也可以是通過程序設(shè)置成共享文件被訪問后,進(jìn)而自動(dòng)發(fā)出訪問該私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0115]S304:若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
[0116]若待檢測應(yīng)用程序存在本地跨域漏洞,將導(dǎo)致黑客獲取到該本地跨域漏洞后,給安裝了該待檢測應(yīng)用程序的終端執(zhí)行一些惡意操作,從而給終端帶來風(fēng)險(xiǎn),因此,若檢測出該應(yīng)用程序存在本地跨域漏洞,開發(fā)人員應(yīng)及時(shí)修復(fù)該漏洞。
[0117]S305:記錄所述待檢測應(yīng)用程序的特征信息,并將所述特征信息和所述檢測結(jié)果上傳至服務(wù)器。
[0118]優(yōu)選的,所述特征信息為待檢測應(yīng)用程序的包名和/或MD5值。[0119]具體的,終端在使用該應(yīng)用程序的過程中,通過具體的檢測軟件獲取到該應(yīng)用程序存在本地跨域漏洞,該終端可以獲取該應(yīng)用程序的特征信息,例如:應(yīng)用程序的包名和/或MD5值,將特征信息和檢測結(jié)果上傳至服務(wù)器,以使服務(wù)器獲知該特征信息所指定的應(yīng)用程序存在本地跨域漏洞后,提示開發(fā)人員針對該漏洞對應(yīng)用程序進(jìn)行修改。開發(fā)人員對該應(yīng)用程序的本地跨域漏洞進(jìn)行修復(fù)后,可重新發(fā)布升級(jí)包文件,服務(wù)器可基于消息推送的機(jī)制使終端下載該升級(jí)包文件,將下載過來的升級(jí)包文件替換掉應(yīng)用程序中對應(yīng)的原始文件,從而對存在本地跨域漏洞的應(yīng)用程序進(jìn)行升級(jí),修復(fù)該漏洞。
[0120]S306:提示用戶所述待檢測應(yīng)用程序存在所述本地跨域漏洞。
[0121]S307:修復(fù)所述待檢測應(yīng)用程序中存在的本地跨域漏洞。
[0122]優(yōu)選的,若接收到修復(fù)該漏洞的確認(rèn)請求,所在終端可以下載修復(fù)所述待檢測應(yīng)用程序中的本地跨域漏洞的升級(jí)包文件,將所述升級(jí)包文件替換掉所述待檢測應(yīng)用程序中對應(yīng)的原始文件,完成漏洞修復(fù)。
[0123]在本發(fā)明實(shí)施例所描述的應(yīng)用程序的本地跨域漏洞檢測方法中,通過利用URI通用資源標(biāo)識(shí)符指示待檢測應(yīng)用程序訪問不屬于待檢測應(yīng)用程序的共享文件,該共享文件又指示待檢測應(yīng)用程序訪問屬于待檢測應(yīng)用程序的非共享文件,若成功訪問該非共享文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。采用本發(fā)明實(shí)施例,可自動(dòng)檢測待檢測應(yīng)用程序的本地跨域漏洞,檢測效率高。
[0124]請參見圖4,圖4是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測裝置的結(jié)構(gòu)示意圖,在本發(fā)明實(shí)施例中,該裝置包括:第一指示模塊101、第二指示模塊102和確定模塊103。
[0125]第一指示模塊101,用于指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件。
[0126]第二指示模塊102,用于指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件。
[0127]確定模塊103,用于若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
[0128]在本發(fā)明實(shí)施例所描述的應(yīng)用程序的本地跨域漏洞檢測裝置中,通過利用URI通用資源標(biāo)識(shí)符指示待檢測應(yīng)用程序訪問不屬于待檢測應(yīng)用程序的共享文件,該共享文件又指示待檢測應(yīng)用程序訪問屬于待檢測應(yīng)用程序的非共享文件,若成功訪問該非共享文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。采用本發(fā)明實(shí)施例,可自動(dòng)檢測待檢測應(yīng)用程序的本地跨域漏洞,檢測效率高。
[0129]請參見圖5,圖5是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測裝置的另一結(jié)構(gòu)示意圖,在本發(fā)明實(shí)施例中,該裝置包括:第一指示模塊201、第二指示模塊202、確定模塊203、導(dǎo)入模塊204、安裝模塊205、檢測模塊206、獲取模塊207和輸出模塊208。
[0130]第一指示模塊201,用于指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件。具體的,第一指示模塊201通過adb調(diào)試工具給所述待檢測應(yīng)用程序發(fā)送包括訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件的操作指令。
[0131]第二指示模塊202,用于指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件。具體的,第二指示模塊202還用于所述共享文件中包括訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件的JavaScript腳本程序,所述待檢測應(yīng)用程序訪問所述共享文件后,通過所述JavaScript腳本程序自動(dòng)去訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0132]確定模塊203,用于若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
[0133]導(dǎo)入模塊204,用于將所述待檢測應(yīng)用程序的安裝包文件導(dǎo)入裝有手機(jī)模擬器的計(jì)算機(jī)中。
[0134]安裝模塊205,用于根據(jù)所述安裝包文件在所述手機(jī)模擬器中安裝所述待檢測應(yīng)
用程序。
[0135]檢測模塊206,用于檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能;若是,指示所述待檢測應(yīng)用程序訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件;若否,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
[0136]獲取模塊207,用于對所述待檢測應(yīng)用程序進(jìn)行解包處理,獲取所述待檢測應(yīng)用程序的配置文件,所述配置文件記錄有所述待檢測應(yīng)用程序是否具有提供訪問文件的功能。
[0137]輸出模塊208,用于輸出所述待檢測應(yīng)用程序的檢測結(jié)果,所述檢測結(jié)果包括漏洞信息和檢測時(shí)間。
[0138]作為一種可能的實(shí)施方式,第二指示模塊202包括:加載單元2021和訪問單元2022。如圖6所示,圖6是圖5提供的其中一種第二指示模塊的結(jié)構(gòu)示意圖。
[0139]加載單元2021,用于所述共享文件中加載有所述第二通用資源標(biāo)識(shí)符,所述第二通用資源標(biāo)識(shí)符指向所述待檢測應(yīng)用程序的私有文件。
[0140]訪問單元2022,用于所述待檢測應(yīng)用程序訪問所述共享文件后,若接收到訪問所述私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
[0141]在本發(fā)明實(shí)施例所描述的應(yīng)用程序的本地跨域漏洞檢測裝置中,通過利用URI通用資源標(biāo)識(shí)符指示待檢測應(yīng)用程序訪問不屬于待檢測應(yīng)用程序的共享文件,該共享文件又指示待檢測應(yīng)用程序訪問屬于待檢測應(yīng)用程序的非共享文件,若成功訪問該非共享文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。采用本發(fā)明實(shí)施例,可自動(dòng)檢測待檢測應(yīng)用程序的本地跨域漏洞,檢測效率高。
[0142]請參見圖7,圖7是本發(fā)明實(shí)施例提供的一種應(yīng)用程序的本地跨域漏洞檢測裝置的結(jié)構(gòu)示意圖,在本發(fā)明實(shí)施例中,該裝置包括:檢測模塊301、第一指示模塊302、第二指示模塊303、確定模塊304、上傳模塊305、提示模塊306和修復(fù)模塊307。
[0143]檢測模塊301,用于檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能。若是,指示所述待檢測應(yīng)用程序訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件;若否,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
[0144]第一指示模塊302,用于指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件。
[0145]第二指示模塊303,用于指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件。
[0146]確定模塊304,用于若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
[0147]上傳模塊305,用于記錄所述待檢測應(yīng)用程序的特征信息,并將所述特征信息和所述檢測結(jié)果上傳至服務(wù)器。
[0148]提示模塊306,用于提示用戶所述待檢測應(yīng)用程序存在所述本地跨域漏洞。
[0149]修復(fù)模塊307,用于修復(fù)所述待檢測應(yīng)用程序中存在的本地跨域漏洞。優(yōu)選的,修復(fù)模塊307還用于下載所述待檢測應(yīng)用程序的升級(jí)包文件,將所述升級(jí)包文件替換掉所述待檢測應(yīng)用程序中對應(yīng)的原始文件。
[0150]在本發(fā)明實(shí)施例所描述的應(yīng)用程序的本地跨域漏洞檢測裝置中,通過利用URI通用資源標(biāo)識(shí)符指示待檢測應(yīng)用程序訪問不屬于待檢測應(yīng)用程序的共享文件,該共享文件又指示待檢測應(yīng)用程序訪問屬于待檢測應(yīng)用程序的非共享文件,若成功訪問該非共享文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。采用本發(fā)明實(shí)施例,可自動(dòng)檢測待檢測應(yīng)用程序的本地跨域漏洞,檢測效率高。
[0151]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(RandomAccessMemory, RAM)等。
[0152]以上所揭露的僅為本發(fā)明一種較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種應(yīng)用程序的本地跨域漏洞檢測方法,其特征在于,包括: 指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件; 指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件; 若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
2.如權(quán)利要求1所述的方法,其特征在于,所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件之前,所述方法還包括: 將所述待檢測應(yīng)用程序的安裝包文件導(dǎo)入裝有手機(jī)模擬器的計(jì)算機(jī)中; 根據(jù)所述安裝包文件在所述手機(jī)模擬器中安裝所述待檢測應(yīng)用程序。
3.如權(quán)利要求2所述的方法,其特征在于,所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件之前,所述方法還包括: 檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能; 若是,執(zhí)行所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件的步驟; 若否,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
4.如權(quán)利要求3所述的方法,其特征在于,所述檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能之前,所述方法還包括: 對所述待檢測應(yīng)用程序進(jìn)行解包處理,獲取所述待檢測應(yīng)用程序的配置文件,所述配置文件記錄有所述待檢測應(yīng)用程序是否具有提供訪問文件的功能。
5.如權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,所述指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,包括: 通過adb調(diào)試工具給所述待檢測應(yīng)用程序發(fā)送包括訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件的操作指令。
6.如權(quán)利要求5所述的方法,其特征在于,所述指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,包括: 所述共享文件中包括訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件的JavaScript腳本程序,所述待檢測應(yīng)用程序訪問所述共享文件后,通過所述JavaScript腳本程序自動(dòng)去訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
7.如權(quán)利要求5所述的方法,其特征在于,所述指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,包括: 所述共享文件中加載有所述第二通用資源標(biāo)識(shí)符,所述第二通用資源標(biāo)識(shí)符指向所述待檢測應(yīng)用程序的私有文件; 所述待檢測應(yīng)用程序訪問所述共享文件后,若接收到訪問所述私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
8.如權(quán)利要求6或7所述的方法,其特征在于,所述方法還包括: 輸出所述待檢測應(yīng)用程序的檢測結(jié)果,所述檢測結(jié)果包括漏洞信息和檢測時(shí)間。
9.如權(quán)利要求1所述的方法,其特征在于,所述待檢測應(yīng)用程序?yàn)锳ndroid瀏覽器或內(nèi)置瀏覽器的Android應(yīng)用程序。
10.如權(quán)利要求1或9所述的方法,其特征在于,所述方法還包括: 記錄所述待檢測應(yīng)用程序的特征信息,并將所述特征信息和所述檢測結(jié)果上傳至服務(wù)器。
11.如權(quán)利要求10所述的方法,其特征在于,所述特征信息為所述待檢測應(yīng)用程序的包名和/或MD5值。
12.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 提示用戶所述待檢測應(yīng) 用程序存在所述本地跨域漏洞。
13.如權(quán)利要求1或12所述的方法,其特征在于,所述方法還包括: 修復(fù)所述待檢測應(yīng)用程序中存在的本地跨域漏洞。
14.如權(quán)利要求13所述的方法,其特征在于,所述修復(fù)所述待檢測應(yīng)用程序中存在的本地跨域漏洞,包括: 下載所述待檢測應(yīng)用程序的升級(jí)包文件,將所述升級(jí)包文件替換掉所述待檢測應(yīng)用程序中對應(yīng)的原始文件。
15.一種應(yīng)用程序的本地跨域漏洞檢測裝置,其特征在于,包括: 第一指示模塊,用于指示待檢測應(yīng)用程序訪問第一通用資源標(biāo)識(shí)符所指向的共享文件,所述共享文件不是所述待檢測應(yīng)用程序的共享文件; 第二指示模塊,用于指示所述待檢測應(yīng)用程序訪問所述共享文件中包括的第二通用資源標(biāo)識(shí)符所指向的私有文件,所述私有文件為所述待檢測應(yīng)用程序的非共享文件; 確定模塊,用于若成功訪問所述私有文件,則確定所述待檢測應(yīng)用程序存在本地跨域漏洞。
16.如權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括: 導(dǎo)入模塊,用于將所述待檢測應(yīng)用程序的安裝包文件導(dǎo)入裝有手機(jī)模擬器的計(jì)算機(jī)中; 安裝模塊,用于根據(jù)所述安裝包文件在所述手機(jī)模擬器中安裝所述待檢測應(yīng)用程序。
17.如權(quán)利要求16所述的裝置,其特征在于,所述裝置還包括: 檢測模塊,用于檢測所述待檢測應(yīng)用程序是否具有提供訪問文件的功能; 若是,指示所述待檢測應(yīng)用程序訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件; 若否,則確定所述待檢測應(yīng)用程序不存在本地跨域漏洞。
18.如權(quán)利要求17所述的裝置,其特征在于,所述裝置還包括: 獲取模塊,用于對所述待檢測應(yīng)用程序進(jìn)行解包處理,獲取所述待檢測應(yīng)用程序的配置文件,所述配置文件記錄有所述待檢測應(yīng)用程序是否具有提供訪問文件的功能。
19.如權(quán)利要求15-18任一項(xiàng)所述的裝置,其特征在于,所述第一指示模塊,還用于通過adb調(diào)試工具給所述待檢測應(yīng)用程序發(fā)送包括訪問所述第一通用資源標(biāo)識(shí)符所指向的共享文件的操作指令。
20.如權(quán)利要求19所述的裝置,其特征在于,所述第二指示模塊還用于: 所述共享文件中包括訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件的JavaScript腳本程序,所述待檢測應(yīng)用程序訪問所述共享文件后,通過所述JavaScript腳本程序自動(dòng)去訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
21.如權(quán)利要求19所述的裝置,其特征在于,所述第二指示模塊包括:加載單元,用于所述共享文件中加載有所述第二通用資源標(biāo)識(shí)符,所述第二通用資源標(biāo)識(shí)符指向所述待檢測應(yīng)用程序的私有文件; 訪問單元,用于所述待檢測應(yīng)用程序訪問所述共享文件后,若接收到訪問所述私有文件的確認(rèn)指令,訪問所述第二通用資源標(biāo)識(shí)符所指向的私有文件。
22.如權(quán)利要求20或21所述的裝置,其特征在于,所述裝置還包括: 輸出模塊,用于輸出所述待檢測應(yīng)用程序的檢測結(jié)果,所述檢測結(jié)果包括漏洞信息和檢測時(shí)間。
23.如權(quán)利要求15所述的裝置,其特征在于,所述待檢測應(yīng)用程序?yàn)锳ndroid瀏覽器或內(nèi)置瀏覽器的Android應(yīng)用程序。
24.如權(quán)利要求15或23所述的裝置,其特征在于,所述裝置還包括: 上傳模塊,用于記錄所述待檢測應(yīng)用程序的特征信息,并將所述特征信息和所述檢測結(jié)果上傳至服務(wù)器。
25.如權(quán)利要求24所述的裝置,其特征在于,所述特征信息為所述待檢測應(yīng)用程序的包名和/或MD5值。
26.如權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括: 提示模塊,用于提示用戶所述待檢測應(yīng)用程序存在所述本地跨域漏洞。
27.如權(quán)利要求15或26所述的裝置,其特征在于,所述裝置還包括: 修復(fù)模塊,用于修復(fù)所述待檢測應(yīng)用程序中存在的本地跨域漏洞。
28.如權(quán)利要求27所述的裝置,其特征在于,所述修復(fù)模塊還用于下載所述待檢測應(yīng)用程序的升級(jí)包文件,將所述升級(jí)包文件替換掉所述待檢測應(yīng)用程序中對應(yīng)的原始文件。
【文檔編號(hào)】G06F21/57GK104036193SQ201410210259
【公開日】2014年9月10日 申請日期:2014年5月16日 優(yōu)先權(quán)日:2014年5月16日
【發(fā)明者】劉文柱, 沈江波, 張楠, 陳勇 申請人:北京金山安全軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1