AddressSanitizer使用记录

来源:互联网 发布:补水爽肤水推荐知乎 编辑:程序博客网 时间:2024/06/05 09:14

 http://theelectronjungle.com/2015/02/15/use-after-free-in-vlc-2.1.x文中,对vlc的uaf漏洞进行分析,其中采用了AddressSanitizer对漏洞进行分析。下面为AddressSanitizer的简单使用。

1.      准备

官网:https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer

版本要求: LLVM3.1 或者gcc4.8(我选择的linux发行版为ubuntu14.04)

sudo apt-get install clang-3.3

Ubuntu14.04的默认gcc版本为4.8

 

2.      使用

编写有漏洞的代码uaf.c:

#include <stdlib.h>int main() {  char *x = (char*)malloc(10 * sizeof(char*));  free(x);  return x[5];}


2.1 clang编译命令:

clang -fsanitize=address -O1-fno-omit-frame-pointer -g uaf.c



2.2  gcc编译命令:

gcc -fsanitize=address -O1-fno-omit-frame-pointer -g uaf.c



0 0
原创粉丝点击