Android平臺上直接實體記憶體讀寫漏洞的那些事
/*
本文章由 莫灰灰 編寫,轉載請註明出處。
*/
通過mmap直接操作實體記憶體的漏洞應該算是比較常見的一類漏洞了,在2012年、2013年的這段時間裡,爆出了好幾個實體記憶體讀寫相關的漏洞。主要是因為某些裝置本身具有mmap實體記憶體的功能,但是其許可權又是全域性可讀寫的,最後,黑客通過精心構造的引數,patch相關函式或者資料結構達到許可權提升的目的。
這樣的裝置主要有以下幾個
/dev/dhcp
/dev/graphics/fb0
(後面兩個沒有搜尋到cve編號,但是利用程式碼網上都有)
此類漏洞的形成主要還是編寫驅動裝置的程式設計師在驅動中實現了mmap方法但是卻沒有校驗引數,例如對呼叫者,map的地址做校驗等等。
還有就是/dev/msm_camera/config0的裝置,本身並不需要mmap的方法,程式設計師在編寫驅動的時候套用模板,最後埋了個坑。
相關推薦
Android平臺上直接實體記憶體讀寫漏洞的那些事
/* 本文章由 莫灰灰 編寫,轉載請註明出處。 */ 通過mmap直接操作實體記憶體的漏洞應該算是比較常見的一類漏洞了,在2012年、2013年的這段時間裡,爆出了好幾個實體記憶體讀寫相關的漏洞。主要是因為某些裝置本身具有mmap實體記憶體的功能,但是其許可權
cocos2d-js如何在android平臺上使用js直接呼叫Java方法
地址:https://github.com/chukong/cocos-docs/blob/v3-unified-documentation/manual/framework/html5/v3/reflection/zh.md 如何在android平臺上使用js直接呼叫
無法在節點上執行實體記憶體檢查
解決辦法: 你可以忽略所有強制安裝,一般不會影響功能。 但如果你有一個好奇的心,想知道為什麼會產生這種錯誤,並且如何解決,請繼續閱讀事實上Oracle執行先決條件檢查是依賴c$共享,很多系統管理員為了安全預設都關閉了這個,所以導致檢查不通過。開啟方法很簡單,確保“服務”裡的
Android SD卡簡單的檔案讀寫操作
Android SD卡簡單的檔案讀寫操作 最近有這樣的需求,把每次統計到的資料,以txt形式儲存到手機SD卡或是手機記憶體中,遇到一些問題,記錄下來。 首先如果要在程式中使用sdcard進行儲存,我們必須要在AndroidManifset.xml檔案進行下
Android獲取外接SD卡讀寫路徑
1. 外接SD卡的一些問題 1.1 關於外接SD卡上的讀寫路徑 Android 4.4及以上版本,應用的外接SD卡讀寫路徑被限定在固定路徑上(外接SD卡根路徑/Android/data/包名/files)。 Android4.4以下版本,申請了外接SD卡讀寫許可權的應用在整個
Android 平臺上 使用 i2c-tools除錯i2c
下載原始碼 編譯 在i2c-tools-3.1.1下新建Android.mk檔案,內容如下 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LO
Android 第二章 本地檔案的讀寫
讀寫的第一種方式: 使用最初始的IO方式讀寫到應用包目錄下面 package com.example.login; import java.io.BufferedReader; import java.io.File; import java.io.FileInput
Freeline - Android平臺上的秒級編譯方案
Freeline是螞蟻金服旗下一站式理財平臺螞蟻聚寶團隊15年10月在Android平臺上的量身定做的一個基於動態替換的編譯方案,5月阿里集團內部開源,穩定性方面:完善的基線對齊,程序級別異常隔離機制。效能方面:內部採用了類似Facebook的開源工具buck的多工程多工併發思想:埠掃描,程
發個Android平臺上的注入程式碼
轉自 http://bbs.pediy.com/showthread.php?t=141355 rt,其實本質上就是linux下面的library注入 只不過處理器是arm的,需要額外處理一些東西 不少程式碼是從網上或xx直接借鑑的,謝謝這些程式碼的作者 整體流程分3步
Unity使用NDK在Android平臺上引用C++程式碼的so檔案(下)
由於最近進入了公司,手頭上的工作需要一點一點的去適應,所以沒有空來完成接下來的博文,今天突然想到寫一些,發現這麼久沒有接觸了,好像已經忘記了很多,寫下這個博文,我也正好回顧一個這一方面的知識。 關於在unity上使用C++的程式碼需要用到SO檔案了,這就像Cocos上使用C
Android平臺上獲取檔案的MIME
/** * 使用系統API,根據url獲得對應的MIME型別 */ private String getMimeTypeFromUrl(String url) { String type = null;
POCO C++庫在Android 平臺上整合(3) (整合成功)
轉載請註明原創地址:http://blog.csdn.net/iflychenyang/article/details/8548652 前言: 經過幾天的努力終於將poco成功的在android平臺上整合起來了.由於這段時間一直有事,沒有及時對調研的結果進行總結,現對整個
Android AsyncHttpClient登入儲存cookie和讀寫cookie
AsyncHttpClient有個特性:(11)持久化cookie儲存,可以將cookie儲存到你的應用程式的SharedPreferences中AsyncHttpClient Cookie相關的官方的文件This library also includes a Persis
Speex 迴音消除 在android 平臺上 初見成效
參考API,又嘗試了迴音消除,發現最新版還提供了用於在多執行緒中的playback()和capture(),有了這兩個函式,就可以避免線上程中不能同步的問題。 結果,發現雖然進行了迴音有了部分消除,但是,還是會一點嘯叫以及回聲,想來還是要做一點處理,譬如去噪,減小播放或者來音的增益。 在使用了spee
Unity使用NDK在Android平臺上引用C++程式碼的so檔案(上)
這是我的第一篇博文,在我剛開始實現本文功能是的,感悟真的是挺深的,為了給大家分享我的探索經驗也為了以後自己方便查閱,寫下此篇博文學習一種新的東西,一定要從最簡單的開始,把一切需要實現的功能做到最容易實現的地步,比如說引用外部一個方法,就要把這個方法做到最簡單,比如說這個方法沒
Linux 字元裝置驅動開發--記憶體讀寫操作
學習Linux的累計時間已經有兩年多了,工作關係,學習的過程總是斷斷續續的,現在整理一下,下面要分享的是一個簡單的linux驅動程式,將記憶體當作一個虛擬的裝置去讀寫,沒有什麼實際的用處,像hello wold!程式一樣,我們簡單體會一下linux驅動程式的特點,Linux
Android串列埠通訊:串列埠讀寫
公司有個專案要用到串列埠通訊,同事有寫好一個DEMO,用的時候發現會有問題,從jni讀串列埠資料時,經常會被截斷,修改select延時還是無濟於事,於是想到用JAVA直接去讀/寫串列埠檔案,經過搜尋在iteye上的一篇部落格1可以滿足需求,但看到下面留言說有問題
Valgrind記憶體讀寫越界檢測工具使用說明
valgrind這款工具是執行在linux下的,可以用來定位c/c++程式中記憶體使用方面的錯誤。包括:記憶體洩漏、使用未初始化的記憶體、讀/寫已釋放的記憶體、讀/寫記憶體越界、使用malloc/new/new[]和free/delete/delete[]不匹配,等等。va
Android平臺上整合大華SDK
在專案中需要接入大華裝置,因此我們集成了大華Android版本SDK。與海康SDK類似,它也是分為NetSDK和PlaySDK。 前者用於裝置連線、網路通訊;後者用於解碼、播放。 在APP中,關於大華裝置,我們實現了以下功能:新增裝置、獲取通道、實時預覽、遠端回放。 接下
android4.4上sd卡的讀寫許可權
Google去年11月正式釋出了Android 4.4,代號為KitKat(奇巧,雀巢的一款巧克力品牌),該系統帶來了諸多新的特性。 但需要注意的是,該系統可能會讓你之前一直正常使用的SD卡變為無用的“擺設”,因為根據新版本的API改進,應用程式將不能再往SD卡中寫入檔案。