0
嗯,我嘗試玩堆棧溢出和安全cookie, 但它看起來大多數教程程序,與POC教程與他們的人都沒有安全cookie編譯。寫入文件讀取代碼溢出
因此,我決定創建一個程序,從文件中獲取輸入並創建緩衝區溢出。 這是我拿出:
#include <stdio.h>
#include <string.h>
void manipulate(char *buffer)
{
char newbuffer[80];
strcpy(newbuffer, buffer);
}
int main()
{
char ch, buffer[4096];
char filename[] = "exploit.txt";
int i = 0;
FILE *inFile;
inFile = fopen(filename, "rb");
if (inFile == NULL)
{
fprintf(stderr, "Can't open input file !\n");
getchar();
return 1 ;
}
while (buffer[i] != EOF)
{
buffer[i++] = fgetc(inFile);
manipulate(buffer);
printf("The value of i is : %d\n", i);
getchar();
return 0;
}
}
我的問題是,我總是得到Can't open input file !\n
。即使我在同一位置創建了「exploit.txt」,並在其中添加了一些「aaaa」。
使用絕對文件或使用API來接收其路徑和發佈結果。順便說一句,c sharp不是研究緩衝區溢出的最佳語言。堅持c。 – icbytes
「...在同一位置......」與** **相同的位置??例如:如果不更改項目配置,則從調試器運行的VC++程序的默認工作目錄是** project **文件夾(即.vcprojx文件所在的位置)。把你的輸入文件放在那裏(假設這是在msdev下運行)。 – WhozCraig
我把它放在項目文件夾裏面調試。 –