91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何通過下載功能實現Facebook安卓應用任意代碼執行

發布時間:2021-12-18 14:43:14 來源:億速云 閱讀:124 作者:柒染 欄目:網絡管理

本篇文章給大家分享的是有關如何通過下載功能實現Facebook安卓應用任意代碼執行,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

漏洞發現

作者在測試Facebook群組文件的下載功能時發現,其有兩種文件下載機制。如果用戶直接從群組帖子中下載文件,那么將通過內置名為DownloadManager的安卓服務下載,據我所知,這是一種安全的文件下載方法。如果用戶要從群組的文件標簽( Files Tab)中下載文件,那么Facebook安卓應用將會獲取文件,然后將其無過濾措施地保存到下載目錄中。以下是存在漏洞的修復后的代碼片段,修復前的代碼沒有以下灰色的代碼行:

如何通過下載功能實現Facebook安卓應用任意代碼執行

路徑遍歷 

理所當然的是,第二種下載方法存在漏洞。雖然Facebook在上傳文件時采取的一系列的安全措施,但卻很容易被繞過。簡而言之,Facebook安卓應用用戶從Facebook群組文件標簽中下載的文件會被存儲到用戶手機中的目錄/sdcard/Downloads/FILE_NAME,這其中由于未對文件名FILE_NAME做過濾處理,導致此處存在目錄遍歷漏洞。之后,我馬上想到的是,能否用路徑遍歷的方式重寫覆蓋掉程序的原本庫來實現代碼執行。

接下來,我用Burp代理攔截了文件上傳的請求包,然后把其文件名更改為 ../../../sdcard/PoC,再進行上傳:

如何通過下載功能實現Facebook安卓應用任意代碼執行不幸的是,由于Facebook服務端的安全措施,我構造的這個路徑遍歷Payload文件被刪了,并且其它樣式的Payload也不奏效,不能實現往/sdcard目錄寫文件的目的。

如何通過下載功能實現Facebook安卓應用任意代碼執行

繞過安全措施

經過多次的Payload構造,也很難繞過安全過濾措施,最后,我回到了Facebook安卓應用本身,在添加文件處終有發現!

如何通過下載功能實現Facebook安卓應用任意代碼執行

從這個添加文件功能處,首先,我發現可以從Facebook安卓應用中上傳文件。因此,接下來我從手機中設置Burp代理,攔截捕獲文件上傳請求,把其中的文件名filename更改為../../../sdcard/PoC,之后,Payload文件成功被上傳到了/sdcard目錄,且文件名處的路徑構造也是有效的。

然后,我嘗試在群組發貼中來下載該文件,但是Facebook安卓應用的DownloadManger服務是安全的,無法找到破綻。還是在文件標簽處(Files Tab)來做測試吧,首先,要明確我可以把文件上傳到/sdcard/PoC目錄。那就像之前考慮的那樣,先來個路徑遍歷,再來個對原生庫的覆蓋重寫試試。

漏洞利用

為此,我又創建了一個安卓原生庫代碼(Native Development Kit)來生成原生庫,我把我的惡意測試代碼放到了JNI_OnLoad函數中,以便加載庫文件時可以對其進行調用。如下:

#include <jni.h>
#include <string>
#include <stdlib.h>
JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
    system(“id > /data/data/com.facebook.katana/PoC”);
    return JNI_VERSION_1_6;
}

通過對上述惡意原生庫的生成構建,再把它用前述路徑遍歷+重寫覆蓋的方法上傳到Facebook安卓應用服務端中。

/../../../../../data/data/com.facebook.katana/lib-xzs/libbreakpad.so

最終,以這種重寫覆蓋的方式可成功實現任意代碼執行。

以上就是如何通過下載功能實現Facebook安卓應用任意代碼執行,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长丰县| 政和县| 固镇县| 汤原县| 万安县| 虹口区| 巴林左旗| 介休市| 西乡县| 屏东县| 博湖县| 台前县| 天祝| 昭觉县| 珲春市| 安泽县| 牟定县| 隆尧县| 嘉祥县| 普洱| 射阳县| 民权县| 马关县| 永德县| 会东县| 宁乡县| 利津县| 政和县| 临猗县| 木兰县| 循化| 双城市| 和田县| 洛南县| 凯里市| 霍邱县| 商都县| 仁怀市| 广德县| 临高县| 大洼县|