寒い夜には
こんな寒い日には、ちょっくらバッファオーバーフローの実験でもやってみたくなっちゃっ・・・
え、別にならないですか・・・そうですか・・・
というわけで、寒いのでこたつでみかんでも食いながらCygwin+gccでオーバーフロっちゃいましょう。(一応僕自身の覚書なので軽く受け流すように!!!!!!1111)
課題1【戻り値のアドレスを上書きしちゃえ編】
メモリ割り当て違反によるスタック領域の上書きで、へんな関数を実行しちゃおう
/* へんな関数 */
void hoge()
{
printf("うひょー");
exit(-1);
}/* 上書きする */
void stk()
{
int a[20];
int i;for( i = 0; i < 100; i++ ) {
a[i] = (int)hoge;
}
}/* メイン */
int main()
{
stk();
return 0;
}
実行結果
$ ./test
うひょー