どのようにフォーマット文字列の脆弱性は何ですか?

フォーマット文字列の脆弱性とは何かを理解するためには、まず最初に書式指定文字列が何であるかを知る必要があります。 フォーマット文字列をどのようにすべき形式番号は、 Cコンパイラを指示した際に、それらのプリントの方法です。

フォーマット文字列をC言語で

Cプログラミング言語では、書式指定文字列は、引数として受け入れる関数のコードです。 これらの関数は、 sprintfを、 snprintf 、 vfprintf 、 vprintf 、 vsprintf 、 vsnprintf 、 setproctitle 、 printf fprintf 、 syslogを、他の含まれています。

もっとも、これらの共通のprintfです。 printfの使い方です:

printf形式[引数... ]

printf [引数... ]の形式で指定された形式での値を出力します

printfを呼び出す例です:

printf ( "この地域コード: % d個の\ N "の、 303 ) ;

サポートされている書式指定子は、次の一Cコンパイラによって異なる。 書式指定子は、 FreeBSDの下でサポートされています:

% d個 符号付き10進数の文字列を整数に変換します。
% u個 符号なし整数の10進数の文字列に変換します。
% iを 符号付き10進数の文字列を整数に変換し、整数のいずれかを10進数で、リードしている可能性があります( 0 ) 、または16進数で主導0x ( )と8進数。
%または 符号なし整数の8進数の文字列に変換します。
% xまたは% Xの 符号なしの16進数の文字列に、 xとの0123456789abcdef '' `` `` Xの数字を使用して整数に変換する'' ) 0123456789ABCDEF 。
% ç それを表す整数をUnicode文字に変換します。
% sを は変換するだけで文字列を挿入します。
%金 フォームxx.yyy 、符号付き10進数の文字列に浮動小数点数の変換は、 Y氏は、高精度で(デフォルト:決定されるの数6 ) 。 精度は0ですし、ない場合は、小数点出力されます。
% eまたは%メール 科学的表記法には、フォームx.yyyeの浮動小数点数に変換+ - zz 、 Y氏の精度で(デフォルト:決定されるの数6 ) 。 精度は0ですし、ない場合は、小数点出力されます。 場合は、メールフォームをメールの代わりに使用されているEの印刷されています
% gまたは% Ĝ -4未満の場合は、指数以上または同等の精度にして% eまたは% E.として浮動小数点数に変換大きい そうでないとして% f.変換 末尾の小数点と末尾のゼロを省略している。
% % 無変換:だけ%を挿入します。

書式指定子についての詳細情報については、 manページをお近くのUnixシステム上の"フォーマット"を参照してください。

書式指定文字列脆弱性により、攻撃

書式指定文字列の脆弱性を攻撃、 3つのカテゴリー:サービス拒否攻撃に、読む、書く落ちる。

フォーマット文字列の脆弱性に関する情報の追加ソース

書式指定文字列の脆弱性悪用の詳細については、悪用フォーマット文字列の脆弱性への新米でフォーマット文字列攻撃ティムNewsham で参照してください

セキュアなコードを書く ビルセキュリティソフトウェア 安全なコーディング セキュアなプログラミング以前
Amazon.comからのセキュアなプログラミング方法でこれらの優れた図書を使用してソースコードの形式の文字列の脆弱性を防ぐために


上位5つの無料ネットワークツール

脆弱性管理ダミーの

Qualysの脆弱性管理ダミーで私たちのお友達と技術のための電子版によくあるご質問読者の無料コピーを提供しています。

脆弱性管理ダミー:

  • 脆弱性管理のための重要な必要性を説明
  • 詳細は最も成功した脆弱性管理プログラムの実践手順不可欠
  • 輪郭の様々な脆弱性管理ソリューション-それぞれの長所と短所を含む
  • ハイライトは、 QualysGuard脆弱性管理ソリューション賞を受賞
  • お客様の重要なリソースからの脆弱性を取り除くために10ポイントのチェックリストを提供
ブックマークとはフォーマット文字列の脆弱性は何です

最新のブログの投稿


英語 英語 ドイツ語 ドイツ語 スペイン語 スペイン語 フランス語 フランス語 イタリア語 イタリア語 ポルトガル語 ポルトガル語 ロシア語 ロシア語 オランダ語 オランダ語
ギリシャ語 ギリシャ語 ヒンディー語 ヒンディー語 日本語 日本語 韓国語 韓国語 中国語 中国語 中国語(簡体字) 中国語(簡体字) アラビア語 アラビア語

著作権2009 技術に関するよくある質問。 版権所有。 プライバシーポリシー。