buffer-overflow

    0熱度

    1回答

    我認爲這段代碼應該會產生一個緩衝區溢出錯誤,但顯然,這打印罰款..是否有檢測到它已經飛越? Valgrind的沒有把它撿起來要麼... static void e(void) { char buffer[5]; char data1[] = "abc"; char data2[] = "de"; memcpy(buffer, data1, sizeof(da

    -3熱度

    1回答

    void go() { //{1} char buffer[2]; gets(buffer); //{2} cout << allow; } 我試圖運行2例上述過程: -1st:我宣佈「INT允許;」在位置1 -2nd:我聲明「int allow;'在位置2 在這兩種情況下,當我試圖輸入字符串「123」(不帶引號)時,allow的值是51.

    6熱度

    4回答

    我正在學習有關堆溢出攻擊和我的書提供了以下脆弱的C代碼: /* record type to allocate on heap */ typedef struct chunk { char inp[64]; /* vulnerable input buffer */ void (*process)(char *); /* pointer to function to pr

    0熱度

    1回答

    我在學習exploit。在所有BOF示例中,shellcode始終放在buffer => shellcode + padding +覆蓋return addr中。是否有可能在返回地址之後放置shellcode以覆蓋先前的棧幀,以防緩衝區太小=> padding + overwirte返回地址+ shellcode?

    1熱度

    1回答

    我試圖測試QNX 6.6.0和6.5.0之間的向後兼容性(與之前的question相比)。我使用SDP6.6.0編譯了一個相對簡單的程序,並在Neutrino 6.5.0上執行它。當我執行該程序的後續運行時錯誤彈出: unknown symbol: __stack_chk_guard ldd:FATAL: Could not resolve all symbols 是什麼原因造成的.. (我已經找

    1熱度

    2回答

    我有一個緩衝區溢出問題,我需要解決。下面的問題是,在底部是我的問題: #include <stdio.h> #include <string.h> void lan(void) { printf("Your loyalty to your captors is touching.\n"); } void vulnerable(char *str) { char buf

    2熱度

    1回答

    我試圖修改下面的C程序,以便主函數將跳過printf(「x is 1」)行並且只打印「x爲0」。 void func(char *str) { char buffer[24]; int *ret; ret = buffer + 28; // Supposed to set ret to the return address of func (*re

    0熱度

    1回答

    我正在用shellcode生成一個shell,我很好奇動態地找到shellcode的起始地址,它放在堆棧上而不是硬編碼在shellcode中的地址 kindly share你的想法? 我已經通過Smashing stack for fun and profit,但我很想知道如何CODERED蠕蟲或MORRIS WORM動態地計算出shellcode的地址

    10熱度

    1回答

    #include <stdio.h> main() { char buf[8]; sprintf(buf,"AAAA%3s","XXssssssssXXXsssssXXX"); printf("%s\n",buf); } 我希望valgrind用上面的代碼檢測緩衝區溢出。但它不報告任何錯誤或警告。我需要爲此啓用任何特殊標誌嗎?

    1熱度

    1回答

    我已經看到了緩衝區溢出代碼,但我不能超過它。有沒有gcc選項來編譯它?或者該代碼有任何問題。 的代碼是: #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> int main(int argc, char **argv) { volatile int modified;