web-dev-qa-db-ja.com

バイトのフラッディングはバッファオーバーフローを引き起こしますか?

Cプログラムをバイトでいっぱいにした場合、バッファオーバーフローが発生する可能性がありますか、それとも他に考慮しなければならないことはありますか?

1
Sensei

バイトのフラッディングは1つですが、どのように実行しますか?これには多くの見方があります。

通常、スタックオーバーフローとヒープオーバーフローの2種類のバッファオーバーフローがあります。すべての最も一般的な1つは、スタックを介して行われます。これは、この post の回答とこの- site (cを使用)どちらもcを使用して説明しています。

この site も、cを使用して、エクスプロイトのフローを説明し、細分化するのに非常に優れています。

それについて話します、

  • Cプログラムのメモリレイアウトとその実行方法(この概念をよく理解できれば、戦いの半分はすでに勝利しています)
  • 共通およびキーレジスタ
  • 関数呼び出し中のメモリ管理
  • C/C++の低レベルのコードで脆弱性がどのように悪用されるか(C関数は悪用に対して脆弱です)
  • それぞれのペイロードの設計
2
mallocation