Use After Free漏洞Demo
漏洞产生的原因是释放了一块内存之后、未重置该内存的一些引用指针、导致指针悬空,被释放的内存可能被恶意利用

代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <windows.h> #include<stdio.h> void Myrun(char*); typedef void (*myfun)(char*); int main() { myfun* fun1 = (myfun*)malloc(0x10); fun1[1] = Myrun; free(fun1); fun1[1]((CHAR *)"+++++Free and use Fun1+++++++");
myfun* fun2 = (myfun*)malloc(0x10); fun2[1]((CHAR*)"+++++use Fun2+++++++"); getchar(); return 0; } void Myrun(char* str) { printf("%s\n",str); }
|
