DeathFuzzer是一個(gè)比較簡單的fuzzing測(cè)試工具,它能夠?qū)Π沧?a target="_blank" href='http://m.aoyuan-tex.com/fz/sjdriver/'>手機(jī)驅(qū)動(dòng)進(jìn)行黑盒fuzz,通過write和ioctl來對(duì)驅(qū)動(dòng)進(jìn)行訪問,CMD值通過參數(shù)給定范圍自動(dòng)變異,CMD對(duì)應(yīng)的arg是程序內(nèi)部的變異器來完成數(shù)據(jù)生成和傳遞的,長度和內(nèi)容都能夠變異。需要的朋友可以下載試試!
什么是fuzzing
fuzzing是一種基于缺陷注入的自動(dòng)軟件測(cè)試技術(shù)。通過編寫fuzzer工具向目標(biāo)程序提供某種形式的輸入并觀察其響應(yīng)來發(fā)現(xiàn)問題,這種輸入可以是完全隨機(jī)的或精心構(gòu)造的。Fuzzing測(cè)試通常以大小相關(guān)的部分、字符串、標(biāo)志字符串開始或結(jié)束的二進(jìn)制塊等為重點(diǎn),使用邊界值附近的值對(duì)目標(biāo)進(jìn)行測(cè)試。
fuzzing測(cè)試工具怎么用
DeathFuzzer使用方法介紹
首先,DeathFuzzer是個(gè)非常簡單的小程序!一共就4個(gè)參數(shù),你填完4個(gè)參數(shù)剩下的就是等著看了。直接不加參數(shù)運(yùn)行就會(huì)顯示usage。
DeathFuzzer使用方法: ./DeathFuzzer [驅(qū)動(dòng)文件路徑] [測(cè)試要使用的用戶權(quán)限] [CMD最小值] [CMD最大值]
我來逐一說一下這幾個(gè)參數(shù)的含義:
[驅(qū)動(dòng)文件路徑]:就是要fuzz的驅(qū)動(dòng)的絕對(duì)路徑,大部分是一些字符設(shè)備啥的,就像下面這些玩意,例如/dev/usf1
crw-rw---- root usb 10, 45 2014-05-19 17:16 usb_accessory
crw------- root root 237, 0 2014-05-19 17:16 usb_ext_chg
crw-rw---- system mtp 10, 47 2014-05-19 17:16 usb_mtp_gadget
crw------- system root 10, 65 2014-05-19 17:16 usf1
crw-rw---- system camera 81, 6 2014-05-19 17:16 v4l-subdev0
[測(cè)試用戶權(quán)限切換]:注意這個(gè)用戶切換功能需要有root權(quán)限才能生效!有些驅(qū)動(dòng)僅允許root和某個(gè)用戶屬組訪問,那么你最好切換到這個(gè)非root的用戶屬組來進(jìn)行fuzz,這樣一旦出現(xiàn)問題你沒準(zhǔn)還能搞個(gè)提權(quán)的0day啥的。
[CMD最小值] [CMD最大值]:既然我們對(duì)驅(qū)動(dòng)的fuzz是純黑盒的(其實(shí)很多驅(qū)動(dòng)代碼都是公開的,你可以直接參照代碼指定這個(gè)范圍),那么我們需要手動(dòng)的去指定個(gè)CMD的范圍,然后通過驅(qū)動(dòng)的反饋來猜測(cè)這個(gè)范圍是否準(zhǔn)確(是否有點(diǎn)像盲注?),制定了最小值和最大值,那么DeathFuzzer的CMD就會(huì)在這個(gè)范圍內(nèi)進(jìn)行變異。
上面的說明balabala的沒什么意思,還是舉個(gè)栗子吃吧,例如我們要fuzz下面這個(gè)uhid驅(qū)動(dòng),
crw-rw---- system net_bt_stack 10, 41 2014-05-19 17:16 uhid
這個(gè)uhid文件在/dev目錄下,net_bt_stack對(duì)其有訪問權(quán)限,那么我們的程序參數(shù)應(yīng)該是這樣配置的。
./DeathFuzzer /dev/uhid net_bt_stack 0x1 0xff
或者是這樣的,
./DeathFuzzer /dev/uhid root 0x3f 0x4f
fuzz過程中會(huì)在程序目錄中生成一個(gè)Fuzzlog.txt文件,這個(gè)文件中記錄著每一次fuzz的參數(shù)內(nèi)容,方便對(duì)bug進(jìn)行回溯。
fuzz日志如下圖,記錄著fuzz時(shí)間,cmd值,每個(gè)[]換行后下面的亂碼就是ioctl和wirte傳遞的內(nèi)容,日志是二進(jìn)制文件,最好使用UE或者010edit來查看,然后配合tombstones和dmesg就可以定位bug的原因了。

好了,DeathFuzzer的介紹到此結(jié)束了,以下為使用方法,祝大家玩的開心!程序下載地址在文章結(jié)尾處。
使用方法:(前提是要先在系統(tǒng)中安裝安卓SDK,然后把SDK中的platform-tools目錄加入環(huán)境變量)
首先第一步把DeathFuzzer 用 adb push 傳進(jìn)手機(jī)。

第二步,adb shell進(jìn)入手機(jī)的終端控制臺(tái),cd進(jìn)入/data/local/tmp目錄。

第三步,使用chmod給DeathFuzzer可執(zhí)行權(quán)限,并且加參數(shù)進(jìn)行fuzz。

然后就等著看手機(jī)是否出現(xiàn)崩潰、重啟等問題,出現(xiàn)以后使用adb pull 把DeathFuzzer的日志取出來,配合tombstones和dmesg就可以定位bug的原因了。

好了,就這么多,需的朋友拿去試試吧!
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版















Apifox(Api調(diào)試管理工具)2.1.29.1 綠色版
小烏龜代碼管理工具(TortoiseGit)2.13.0.1 中文免費(fèi)版
SoapUI破解版5.7.0 最新版
小皮面板(phpstudy)8.1.1.3 官方最新版
Ruby3.0(ruby運(yùn)行環(huán)境)3.0.2 官方版
gcc編譯器( MinGW-w64 9.0.0綠色版)免費(fèi)下載
寶玉編輯助手0.0.05新版
火花編程軟件2.7.2 官方pc版
猿編程少兒班客戶端3.1.1 官方版
Restorator 2009中文版單文件漢化版
十六進(jìn)制閱讀小工具
IT碼農(nóng)工具軟件1.0 中文免費(fèi)版
Postman Canary(網(wǎng)頁調(diào)試軟件)官方版7.32.0綠色免費(fèi)版
大耳猴少兒編程客戶端1.1.2 官方免費(fèi)版
excel批量sql語句(通過excel構(gòu)建sql工具)1.0 免費(fèi)版
軟件添加彈窗和網(wǎng)址工具1.0 中文免費(fèi)版
天霸編程助手2.1 單文件中文版
ida pro 中文破解版(反編譯工具)7.0 永樂漢化版64位
VBA代碼助手3.3.3.1官方版
JDK 12 linux版for 64位
Samba(完全支持Python 3)4.10 官方最新版
猿編程電腦端3.9.1.347 官方PC版
蒲公英 Android SDKV4.1.11 官方最新版
蒲公英iOS SDK2.8.9.1 官方最新版
WxPython中文可視化編輯器1.2 簡體中文免費(fèi)版
Python代碼生成器1.0 中文免費(fèi)版
C語言代碼實(shí)例助手1.0 免費(fèi)版
notepad++7.8.2 中文免費(fèi)版
wpe pro Alpha 0.9a 中文綠色版




系統(tǒng)自帶的命令行幫助文件(ntcmds.chm)chm格
Excel轉(zhuǎn)換XML工具1.0 免費(fèi)版
實(shí)體類SQL生成工具1.0 綠色免費(fèi)版
XML字符串解析工具2.0.3 免費(fèi)版
VC++Spelly(代碼拼寫檢查)3.0.1 官方最新版
易語言vc6迷你連接器【dos命令形式運(yùn)行】綠
Elastix 20163.0 免費(fèi)版
sql語法分析器(sql語法分析工具)3.1.0 綠色
dev c++下載(DEV-C++)5.9.2 多語安裝免費(fèi)版
vc字體設(shè)置工具(vc6字體設(shè)置工具)1.0 中文綠