<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Android中注入型漏洞基礎理論總結

哆啦安全 ? 來源:編碼安全 ? 作者:編碼安全 ? 2022-12-01 09:19 ? 次閱讀

背景

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

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

注入漏洞原理

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

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

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

SQL注入攻擊

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

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

ab49b078-710e-11ed-8abf-dac502259ad0.png

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

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

XML注入攻擊

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

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

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

ab5ce314-710e-11ed-8abf-dac502259ad0.png

當前的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問題。

ab81640a-710e-11ed-8abf-dac502259ad0.pngab9dd7de-710e-11ed-8abf-dac502259ad0.png

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

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

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

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

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

abacd1e4-710e-11ed-8abf-dac502259ad0.png

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

反射XSS攻擊是指通過惡意鏈接注入惡意代碼的攻擊。為了測試這些攻擊,自動輸入模糊被認為是一種有效的方法。例如,BURP掃描程序在識別反映的XSS漏洞方面非常有效。

與自動化分析一樣,確保所有輸入向量都包含在測試參數的手動審查中。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3854

    瀏覽量

    125744
  • JAVA
    +關注

    關注

    19

    文章

    2904

    瀏覽量

    103034
  • SQL
    SQL
    +關注

    關注

    1

    文章

    738

    瀏覽量

    43474
  • XSS
    XSS
    +關注

    關注

    0

    文章

    23

    瀏覽量

    2318

原文標題:Android中注入型漏洞總結

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MPEG基礎理論和協議分析

    MPEG基礎理論和協議分析MPEG 基礎理論和協議分析(包括DVB和ATSC)的指南MPEG 是當今最流行的音頻/ 視頻壓縮技術之一。這是因為它不僅僅是一個單獨的標準,而是一系列以相似理論為基礎且
    發表于 10-20 17:36

    高速PCB基礎理論及內存仿真技術

    基礎理論及內存仿真技術</strong></font><br/></p><
    發表于 10-20 16:03

    高速PCB基礎理論及內存仿真技術

    一本介紹高速PCB基礎理論及內存仿真技術的經典書籍
    發表于 05-21 15:59

    請問單片機的基礎理論需要看那些書籍啊

    請問單片機的基礎理論需要看那些書籍???????我是新人,請多關照
    發表于 09-27 13:21

    基礎理論之反射詳解

    ,走線從細變寬,會增加一次反射,那是不是全程按照breakout區域走線會比較好?源端匹配電阻是不是也增加了一次反射? ......小編在此給大家分享下信號反射的基礎理論知識,希望對大家有用。
    發表于 06-15 17:07

    檢測技術基礎理論知識

    檢測技術基礎理論知識
    發表于 11-27 14:51

    Spark集群安裝步驟和基礎理論

    Spark基礎理論及安裝
    發表于 11-05 09:24

    步進電機基礎-步進電機的原理與特性之基礎理論

    步進電機基礎(3.1)-步進電機的原理與特性之基礎理論前言基本信息公式前言說明步進電機的原理與特性之基礎理論3. 1 基礎理論1. 轉矩的產生及負載角1) PM電機的轉矩及負載角2)
    發表于 06-30 07:21

    磁場定向控制的基礎理論

    我覺得我應該寫點什么了從去年10月,也就是2019年10月15號開始研究永磁同步驅動,一個漫長的學習過程終于理解了 磁場定向控制的基礎理論, 實際操作讓電機轉起來,還是不太容易的.想要轉好,難上加難
    發表于 08-27 06:17

    邏輯與或非基礎理論簡析

    一、邏輯與或非基礎理論:邏輯與或非,運算對象是布爾值(1或0,真或假),類似于數字電路的與門,或門,非門。與關系運算符配合,一般用于選擇語句與循環語句中1、邏輯與符號為&&。 參與
    發表于 01-24 06:30

    USB接口的基礎理論知識

    USB接口的基礎理論知識 USB的重要關鍵字:
    發表于 10-15 13:08 ?844次閱讀
    USB接口的<b class='flag-5'>基礎理論</b>知識

    閥控鉛酸蓄電池基礎理論

      閥控鉛酸蓄電池基礎理論   一、基本概念:   1、電池電壓:   a、開路電壓:電池在開路狀態下的端電壓。  
    發表于 11-04 11:29 ?405次閱讀

    高速PCB基礎理論及內存仿真技術

    本文檔介紹了高速PCB基礎理論及內存仿真技術
    發表于 08-25 15:52 ?0次下載

    混頻器的基礎理論和應用

    混頻器的基礎理論和應用
    發表于 09-18 16:53 ?32次下載
    混頻器的<b class='flag-5'>基礎理論</b>和應用

    探討碲鎘汞紅外探測器工藝中注入溫度的影響

    本文從離子注入工藝的溫度控制出發,研究了離子注入工藝中的束流、注入能量、接觸面粗糙度等因素對溫控的影響,并結合器件的I-V曲線,探究了碲鎘汞紅外探測器工藝中注入溫度的影響。
    的頭像 發表于 09-29 10:45 ?2415次閱讀
    探討碲鎘汞紅外探測器工藝<b class='flag-5'>中注入</b>溫度的影響
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>