我有這樣的代碼是從用戶讀取輸入:此C用戶輸入代碼是否易受攻擊?
unsigned int readInput(char * buffer, unsigned int len){
size_t stringlen = 0;
char c;
while((c = getchar()) != '\n' && c != EOF){
if(stringlen < (len-1)){
buffer[stringlen] = c;
stringlen++;
}
}
buffer[stringlen+1] = '\x00';
return stringlen;
}
的char * BUFF的大小已經被設置爲len並已memset的含有「0」。此代碼是否容易受到任何漏洞攻擊?
這段代碼運行多久,如果我餵它12 TB的數據?如果我將它掛接到'/ dev/zero',該怎麼辦? –
這只是一個函數,爲什麼cout不是一個C函數,這是C代碼 – bi0phaz3
就像任何輸入,如果你餵它12TB的數據,它將需要很長時間才能運行,但它不會受到攻擊會嗎?這隻會花費很長時間,它會丟失比長度更長的數據 – bi0phaz3