fortify-source

    8熱度

    1回答

    我偶然發現了以下問題。下面的代碼片段無法在Mac OS X與 #include <stdlib.h> #include <string.h> #include <emmintrin.h> int main(int argc, char *argv[]) { char *temp; #pragma omp parallel { __m128d v_a, v_

    8熱度

    4回答

    由於在gcc中有一個選項-fstack-protector-strong來檢測堆棧是否被粉碎。但是,它不能總是檢測到堆棧緩衝區溢出。對於第一個函數func,當我輸入一個10個字符的字符串時,程序並不總是崩潰。我的問題是有什麼方法可以檢測堆棧緩衝區溢出。 void func() { char array[10]; gets(array); } void func2()

    6熱度

    4回答

    程序中有一些固定大小的二進制緩衝區用於存儲數據。 memcpy用於將緩衝區從一個複製到另一個。由於源緩衝區可能大於目標緩衝區。我如何檢測是否存在緩衝區溢出?

    0熱度

    1回答

    我試圖找到在GCC for libc中實現強化函數所需的信息。 根據我的理解,__builtin __ * _ chk變體是用於編譯時檢查的,但是如果GCC無法確定緩衝區大小,他將用__ * _ chk版本(如果它們存在)替換該調用。 上述斷言是否正確?如果是這樣的話,我在哪裏可以找到關於GCC在libc中需要什麼的文檔,以便在FORTIFY_SOURCE = 1 | 2時將函數與其運行時__ *

    2熱度

    1回答

    我使用下面的build.gradle配置 運行HP Fortify的掃描: // Fortify configuration configurations { fortify { extendsFrom compile } } // pull in the fortify libs for the new configuration dependencies { fo

    5熱度

    3回答

    仍在學習這個緩衝區溢出工具和安全類,我想利用這個應用程序漏洞: //vuln.c #include <stdio.h> int bof(char *str) { char buffer[12]; //BO Vulnerability strcpy(buffer,str); return 1; } int main(int argc, cha

    1熱度

    2回答

    我有一個實驗室任務,我被卡住了。基本上,我必須利用緩衝區溢出來生成具有root權限的shell。我必須使用2個獨立的.c文件。這是第一個: stack.c #include <stdlib.h> #include <stdio.h> #include <string.h> int bof(char *str) { char buffer[12]; //BO Vulne

    31熱度

    7回答

    我在CentOS 6.4 32位,並試圖導致程序中的緩衝區溢出。在GDB中它起作用。這裏是輸出: [[email protected] bufferoverflow]# gdb stack GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1) Copyright (C) 2010 Free Software Foundation, In

    10熱度

    2回答

    我與緩衝區溢出實驗和嘗試與fgets 的某個輸入覆蓋堆棧的返回地址緩衝區溢出這是代碼: void foo() { fprintf(stderr, "You did it.\n"); } void bar() { char buf[20]; puts("Input:"); fgets(buf, 24, stdin); printf("You

    5熱度

    1回答

    我有一個小C程序被利用。而且我也理解要執行的攻擊背後的邏輯。然而,儘管我嘗試了,但它並不適合我。 #include <stdio.h> #include <stdlib.h> #define SECRET1 0x44 #define SECRET2 0x55 int main(int argc, char *argv[]) { char user_input[100];