AddressSanitizer使用记录

 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 
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


AddressSanitizer使用记录_第1张图片

2.2  gcc编译命令:

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


AddressSanitizer使用记录_第2张图片

你可能感兴趣的:(AddressSanitizer使用记录)