システムが予め確保しているうバッファ領域よりも大きなサイズを送りつけることで、バッファ領域を溢れさせ、バッファ領域外のコードを任意のコードで上書きしてしまう攻撃
例えば、入力フォームで数千文字の数字を入力して送信ボタンを押すと、送り込まれた大量のデータがバッファ領域を超え、バッファ領域外が上書きされてしまうことがある。
各入力フォームの最大長を設定することで防ぐことができる
char *
gets(char *buf)
{
int c;
char *s;
for (s = buf; (c = getchar()) != '\n'; )
if (c == EOF)
if (s == buf){
return (NULL);
} else
break;
else
*s++ = c;
*s = '\0';
return (buf);
}
入力したデータを全て受け取ると、オブジェクトの値が変わることがある
DoS攻撃は、サーバ負荷を増やすための攻撃
なるほど、バリデーションが如何に大事か理解できました