<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    android中注入型漏洞小結

    VSole2022-11-26 07:37:17

    背景

    在android應用開發過程中,基于項目需求一般是團隊開發,這就會出現使用多種編程語言(java、Kotlin、C++等)和一些通用框架。因此,當忽略和沒有重視安全編程實踐時,常見的注入型漏洞(如SQL注入、XML注入和跨站點腳本(XSS)等)可能會在應用中表現出來,從而給項目帶來一些安全風險和危害。

    下面從基礎理論方面做下這方面的小總結。

    注入漏洞原理

    注入漏洞它就是將用戶輸入或插入后端查詢或命令時發生的一類安全漏洞。通過注入元字符,攻擊者可以執行無意中被解釋為命令或查詢的一部分的惡意代碼。

    例如,通過操縱SQL查詢,攻擊者可以檢索任意數據庫記錄或操縱后端數據庫的內容。

    這種注入類型漏洞在服務器端或web服務中最常見。android應用中也存在可利用的實例,但這種情況不太常見,而且攻擊面更小。

    SQL注入攻擊

    SQL注入攻擊,它涉及將SQL命令集成到輸入的數據中,模仿預定義SQL命令的語法。成功的SQL注入攻擊允許攻擊者讀取或寫入數據庫,并可能執行管理命令,具體取決于服務器授予的權限。

    Android應用程序中一般情況下,使用SQLite數據庫來控制和管理本地數據存儲。假設Android應用程序通過將用戶憑據存儲在本地數據庫中來處理本地用戶身份驗證。當登錄SQLite數據庫后,應用程序查詢數據庫以搜索用戶輸入的用戶名和密碼的記錄。

    如果上圖中用戶名和密碼都設置為'1' = '1'并且都為真的情況下,這個查詢后的數據庫就會返回所有記錄,這樣就能夠正常登錄,這樣就出現非正常授權的用戶也能夠正常登錄數據庫。

    因此針對這種類型的注入攻擊,除了對輸入數據進行校驗外,也可結合對用戶進行多重身份驗證。確保登錄的用戶為指定授權的用戶。

    XML注入攻擊

    在XML注入攻擊中,攻擊者注入XML元字符以從結構上去改變XML內容。這可以用來破壞基于XML的應用程序或服務的邏輯,也可能允許攻擊者利用XML解析器處理內容的操作。

    這種XML攻擊的一個流行變體是XML外部實體(XXE)。攻擊者將包含統一資源標識符(URI)的外部實體定義注入到輸入XML中。在解析過程中,XML解析器通過訪問URI指定的資源來擴展攻擊者定義的實體。解析應用程序的完整性最終決定了攻擊者所具備的能力,惡意用戶可以在其中執行以下任何操作:訪問本地文件,觸發對任意主機和端口的HTTP請求,發起跨站點請求偽造(CSRF)攻擊,并導致拒絕服務條件。

    XXE示例:打開本地文件/dev/random,返回無限字節流,可能導致拒絕服務。

    當前的android應用開發趨勢主要集中于基于REST/JSON的服務,基于XML越來越不常見。但是在使用用戶提供的或不受信任的內容來構造XML查詢的罕見情況下,它可以由本地XML解析器進行解釋。因此,在開發過程中應始終做好驗證所述輸入,并轉義元字符。

    注入攻擊向量

    android應用程序的攻擊面與典型的web和網絡應用程序截然不同。android應用程序通常不會在網絡上公開服務,應用程序用戶界面上的可行攻擊向量也比較少。針對android應用程序的注入攻擊最有可能通過進程間通信(IPC)接口發生,其中惡意應用程序攻擊設備上運行的另一個應用程序。

    在手動安全審查過程中發現,潛在漏洞需要執行以下任一操作:

    1、識別不可信輸入的可能入口點,然后從這些位置進行跟蹤,以查看目標是否包含潛在的易受攻擊的函數。

    2、識別已知的、危險的庫/API調用(例如SQL查詢),然后檢查未檢查的輸入是否成功地與相應的查詢交互。

    對于不受信任的輸入,一般是通過以下常見的幾個方式進入應用程序:IPC調用;自定義URL方案;二維碼;通過藍牙、NFC或其它方式接收的輸入文件;粘貼板;用戶界面。

    降低注入攻擊向量的實踐方案:

    1、使用可接受值列表對不受信任的輸入進行類型檢查和/或驗證。

    2、執行數據庫查詢時,使用帶有變量綁定的準備語句(即參數化查詢)。如果定義了準備好的語句,用戶提供的數據和SQL代碼將自動分離。

    3、解析XML數據時,確保解析器應用程序配置為拒絕解析外部實體,以防止XXE攻擊。

    4、使用x509格式的證書數據時,請確保使用了安全的解析器。

    跨站點腳本

    跨站點腳本(XSS),它允許攻擊者將客戶端腳本注入用戶查看的網頁。這種類型的漏洞在web應用中很常見。

    當用戶在瀏覽器中查看注入的腳本時,攻擊者能夠繞過同源策略,從而實現各種攻擊(例如竊取會話cookie、記錄按鍵、執行任意操作等)。

    在本地應用程序的環境中,XSS風險遠沒有那么普遍,原因很簡單,這類應用程序不依賴web瀏覽器。然而,android中存在很多使用WebView組件,這樣就可能容易受到此類攻擊。

    可以在android應用程序中,分析所有存在的WebView,并分析應用程序呈現的不可信輸入。

    如果WebView打開的URL部分由用戶輸入決定,則可能存在XSS問題。

    如果使用WebView顯示遠程網站,則逃避HTML的負擔將轉移到服務器端。如果web服務器上存在XSS漏洞,則可用于在WebView上下文中執行腳本。

    降低跨站點腳本攻擊實踐:

    1、除非絕對必要,否則不會在HTML、JavaScript或其它解釋上下文中呈現不受信任的數據。

    2、適當的編碼應用于轉義字符,例如HTML實體編碼。特別注意:當HTML嵌套在其他代碼中時,轉義規則會變得復雜,呈現位于JavaScript塊中的URL。

    考慮如何在響應中呈現數據。如果數據在HTML上下文中呈現,則必須轉義六個控制字符:

    針對跨站點腳本動態分析,可以使用手動或者自動輸入模糊化來檢測,即將HTML標記和特殊字符注入所有可用的輸入字段,以驗證web應用程序拒絕無效輸入或轉義其輸出中的HTML元字符。

    反射XSS攻擊是指通過惡意鏈接注入惡意代碼的攻擊。為了測試這些攻擊,自動輸入模糊被認為是一種有效的方法。例如,BURP掃描程序在識別反映的XSS漏洞方面非常有效。與自動化分析一樣,確保所有輸入向量都包含在測試參數的手動審查中。 

    xml格式xml解析
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    但是,在處理外部實體時,可以針對應用程序啟動許多攻擊。這些攻擊包括泄露本地系統文件,這些文件可能包含密碼和私人用戶數據等敏感數據,或利用各種方案的網絡訪問功能來操縱內部應用程序。通過將這些攻擊與其他實現缺陷相結合,這些攻擊的范圍可以擴展到客戶端內存損壞,任意代碼執行,甚至服務中斷,具體取決于這些攻擊的上下文。//這一行是 XML 文檔定義
    XXE如何理解? 它是可擴展標記語言 ( XML) 用于存儲和傳輸數據。 通常始于異步JavaScript和XML技術(ajax技術):網頁應用能夠快速地將增量更新呈現在用戶界面上,而不需要重載(刷新)整個頁面。 目前JSON的使用比XML更加普遍JSON和XML都被用于在Ajax模型中的XML技術
    MYSQL JDBC XXE漏洞分析
    2021-10-26 09:02:17
    最近 JDBC爆了一個XXE漏洞,很久沒有分析漏洞了,趁著周末沒事分析下這個漏洞。 分析 10月21日,”阿里云應急響應”公眾號發布Oracle Mysql JDBC存在XXE漏洞,造成漏洞的原因主要是因為getSource方法未對傳入的XML格式數據進行檢驗。導致攻擊者可構造惡意的XML數據引入外部實體。造成XXE攻擊。
    Web Service滲透測試總結
    反序列化漏洞匯總
    2022-01-07 22:17:34
    漏洞出現在WLS Security組件,允許遠程攻擊者執行任意命令。攻擊者通過向TCP端口7001發送T3協議流量,其中包含精心構造的序列化Java對象利用此漏洞。然后將其序列化,提交給未做安全檢測的Java應用。Java應用在進行反序列化操作時,則會觸發TransformedMap的變換函數,執行預設的命令。
    本篇文章是WebLogic中間件漏洞復現,記錄了近幾年來爆出的WebLogic中間件漏洞主要分為六個部分:WebLogic簡介、WebLogic安裝、WebLogic漏洞復現、WebLogic SSRF聯動Redis、WebLogic實戰和WebLogic防御措施。
    DOCX 是一種融合可擴展標記語言(Extensible Markup Language,XML)、對象連接與嵌入 (Object Linking and Embedding, OLE) 技術、ZIP 壓縮技術為一體的文檔組織形式, 其格式復雜、應 用廣泛,信息隱藏方式靈活且難以發現。通過研究 DOCX 文檔,解析文檔結構,提出在此類文檔中 進行信息隱藏的可能性,并有針對性的設計了基于關聯對象隱
    近日,國家信息安全漏洞庫(CNNVD)收到關于微信支付SDK XXE(XML External Entity)漏洞(CNNVD-201807-083)情況的報送。成功利用該漏洞的攻擊者可以遠程讀取服務器文件,獲取商戶服務器上的隱私數據,甚至可以支付任意金額購買商品。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类