2011-06-07 3 views
0

Cの初心者として、Cプログラマーが慣れているはずの基本的なセキュリティのヒントを知りたい。厳密にCを参照してください。Cで回避する基本的なセキュリティ上の間違い

+1

*セキュリティ*の意味を明確にすることはできますか? – Exa

+3

完全な答えはおそらくC++の仕様自体と同じくらい長くなるでしょう。 –

+1

CまたはC++についてですか?いずれにしても、その範囲はかなり広い。 – Cubbi

答えて

1

主な問題はbuffer overflowだと考えてください。 読み込みの最大バイト数を指定せずに、fgetsやscanfなどの関数を使用して発生する可能性があります。割り当てられたバッファより大きい悪意のある入力文字列がスタック内のリターンアドレスを上書きして、提供された攻撃の実行を引き起こします。

0

トピックはかなり大きいですが、最初はセグメンテーションフォルトとバッファオーバーフローを避けることができます。

+0

これは目的です。それを達成する方法を説明する必要があります。 :) –

-1

最も明白なのは、バッファオーバーランです。 strcpyの代わりにstrncpyを使用してください。

+4

'strncpy()'は万能薬ではありません。ヌル終了文字列を保証するものではありませんので、注意深く使用する必要があります。 –

+0

'strncpy'は、大部分のプログラマが単に使うべきではありません。誰がそれを使用すべきかを区別する方法を除いて、あなたはそれを使用するべきではありません。 :-) –

関連する問題