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

溫馨提示×

溫馨提示×

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

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

Manul是一款什么工具

發布時間:2021-12-27 14:22:50 來源:億速云 閱讀:155 作者:小新 欄目:數據安全

小編給大家分享一下Manul是一款什么工具,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

   Manul是一款基于覆蓋率引導的并行模糊測試工具,該工具采用純Python開發,并且已完全開源,廣大研究人員可以使用Manul在Windows、Linux和macOS平臺上對目標代碼進行模糊測試或黑盒測試。

馬上使用

pip3 install psutilgit clone https://github.com/mxmssh/manulcd manulmkdir inmkdir outecho "AAAAAA" > in/testpython3 manul.py -i in -o out -n 4 "linux/test_afl @@"

安裝Radamsa

sudo apt-get install gcc make git wgetgit clone https://gitlab.com/akihe/radamsa.git && cd radamsa && make && sudo make install

如果你是用的是Windows平臺,那你就不需要安裝Radamsa了,因為Manul針對Windows平臺的發布包中已經包含了Radamsa庫了。

公共CVE列表

CVE IDs 產品 發現人
CVE-2019-9631 CVE-2019-7310 CVE-2019-9959PopplerMaksim Shudrak
CVE-2018-17019 CVE-2018-16807 CVE-2019-12175Bro/ZeekMaksim Shudrak

如果你使用Manul成功發現了新的漏洞的話,大家可以將漏洞信息添加到這個列表之中。

工具演示樣例

Manul是一款什么工具

工具依賴

1、Python3(Python2從2020年1月1日開始就已經過時了,但是Manul在Python2環境下理論來說可以正常工作)

2、Psutil:【傳送門】

3、Pywin32(Windows平臺下,DBI持久模式),安裝命令如下:

pip install pywin32

基于覆蓋率引導的模糊測試

當前版本的Manul支持兩種類型的操作指令,即基于AFL的指令(afl-gcc、afl-clang和afl-clang-fast)和DBI模式。

基于覆蓋率引導的模糊測試-AFL指令模式

你可以使用afl-gcc、afl-clang-fast或Address Sanitizer(建議使用)命令來進行操作,演示樣例如下:

CC=afl-gcc CXX=afl-g++ CFLAGS=-fsanitize=address CXXFLAGS=-fsanitize=address cmake <path_to_your_target>make -j 8USE_ASAN=1 CC=afl-clang-fast CXX=afl-clang-fast++ cmake <path_to_your_target>make -j 8

基于覆蓋率引導的模糊測試-DBI模式

在使用該模式時,無需使用專門的命令,但是我們需要在Windows或Linux平臺中下載最新版本的DynamoRIO框架。

Manul在Linux和Windows平臺上,是以x86/x64預編譯客戶端的形式發布的,你可以在下列目錄中找到它們:linux/dbi_32|dbi_64/libbinafl.so (DynamoRIO client)win/dbi_32|dbi_64/binafl.dll

不幸的是,DynamoRIO目前還不支持在macOS上使用。

使用DynamoRIO對代碼進行黑盒模糊測試

DynamoRIO:

在使用之前,你需要去掉manul.config文件中的下列代碼行的注釋,并且給DynamoRIO啟動器和客戶端提供正確的路徑:

# Choose DBI framework to provide coverage back to Manul ("dynamorio" or "pin"). Example dbi = dynamoriodbi = dynamorio# If dbi parameter is not None the path to dbi engine launcher and dbi client should be specified.dbi_root = /home/max/DynamoRIO/bin64/drrundbi_client_root = /home/max/manul/linux/dbi_64/libbinafl.sodbi_client_libs = None

除此之外,廣大用戶還可以使用持續內存模糊測試功能來提升黑盒模糊測試的性能。在這個模式下,你可以控制Manul對特定的函數進行測試,并通過取消下列代碼行注釋來實現循環執行:

dbi_persistence_mode = 1dbi_target_module = afl_testdbi_target_method = open_file#dbi_target_offset = 0x3198 # optionally you can provide offset of this function instead of namedbi_fuzz_iterations = 1000

winAFL的開發者對這種模式進行了非常詳細的介紹,而Manul引用了winAFL中大部分指令庫的代碼,用來跟待測目標發送指令或進行通信。

編譯DynamoRIO客戶端代碼

編譯指令庫,我們需要安裝最新版本的DynamoRIO。指令庫源代碼可以在Manul主目錄下的“dbi_clients_src”中找到。

64-bit Linux

cd dbi_clients_srcwget <DynamoRIO-x86_64-Linux-X.XX.XXXX-X.tar.gz> - download the latest DynamoRIOtar xvf DynamoRIO-x86_64-X.XX.XXXX-X.tar.gzmkdir client_64cd client_64cmake ../dr_cov/ -DDynamoRIO_DIR=/home/max/manul/dbi_clients_src/DynamoRIO-x86_64-Linux-X.XX.XXXX-X.tar.gz/cmakeMake

32-bit Linux

cd dbi_clients_srcwget <DynamoRIO-i386-Linux-X.XX.XXXX-X.tar.gz> - download the latest DynamoRIOtar xvf DynamoRIO-x86_64-X.XX.XXXX-X.tar.gzmkdir client_64cd client_64CFLAGS=-m32 CXXFLAGS=-m32 cmake ../dr_cov/ -DDynamoRIO_DIR=/home/max/manul/dbi_clients_src/DynamoRIO-i386-Linux-X.XX.XXXX-X.tar.gz/cmakeMake

在Windows下,需要安裝Visual Studio(2017或2013),然后啟動“VS20XX Cross Tools Command Prompt”,并運行下列命令:

64-bit Windows

cd dbi_clients_src<Download and extract the latest version of DynamoRIO>mkdir client_64cd client_64cmake -G"Visual Studio 15 Win64" ..\dr_cov\ -DDynamoRIO_DIR=C:\Users\max\manul\dbi_clients_src\DynamoRIO-Windows-XXXX.XX.X.X\cmakecmake --build . --config RelWithDebInfo (or just Debug if needed)

32-bit Windows

cd dbi_clients_src<Download and extract the latest version of DynamoRIO>mkdir client_32cd client_32cmake -G"Visual Studio 15" ..\dr_cov\ -DDynamoRIO_DIR=C:\Users\max\manul\dbi_clients_src\DynamoRIO-Windows-XXXX.XX.X.X\cmakecmake --build . --config RelWithDebInfo (or just Debug if needed)

工具命令行參數

Example: python3 manul.py -i corpus -o out_dir -n 40 "target @@"positional arguments:  target_binary  The target binary and options to be executed (don't forget to include quotes e.g. "target e @@").optional arguments:  -h, --help     show this help message and exit  -n NFUZZERS    Number of parallel fuzzers  -s             Run dumb fuzzing (no code instrumentation)  -c CONFIG      Path to config file with additional options (see Configuration File Options section below)  -r             Restore previous sessionRequired parameters:  -i INPUT       Path to directory with initial corpus  -o OUTPUT      Path to output directory

狀態視圖

Manul是一款什么工具

以上是“Manul是一款什么工具”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

清涧县| 宜良县| 新乡市| 香河县| 固始县| 贵州省| 三门县| 绍兴县| 纳雍县| 晋州市| 本溪市| 长顺县| 如皋市| 封丘县| 普安县| 越西县| 和田县| 汪清县| 聊城市| 安顺市| 德钦县| 离岛区| 方山县| 湖州市| 崇礼县| 镇沅| 海兴县| 若羌县| 三都| 尼玛县| 炉霍县| 利津县| 潞城市| 峨眉山市| 清流县| 土默特右旗| 江津市| 桐城市| 清苑县| 桂阳县| 临夏市|