Heap Overflow
基本情報
ヒープオーバーフローは、ヒープ内でのスタックオーバーフローのようなものです。基本的には、ヒープにデータを格納するためのスペースが予約されており、格納されたデータが予約されたスペースよりも大きかったことを意味します。
スタックオーバーフローでは、命令ポインタやスタックフレームなどのレジスタがスタックから復元されることがわかっており、これを悪用する可能性があることがあります。ヒープオーバーフローの場合、ヒープチャンクにはデフォルトで保存されている機密情報はありません。ただし、機密情報やポインタが含まれることがあり、この脆弱性の重大性は、どのデータが上書きされるかおよび攻撃者がこれをどのように悪用できるかによって決まります。
オーバーフローオフセットを見つけるためには、スタックオーバーフローと同じパターンを使用できます。
ARM64の例
ページhttps://8ksec.io/arm64-reversing-and-exploitation-part-1-arm-instruction-set-simple-heap-overflow/には、実行されるコマンドがオーバーフローしたチャンクから次のチャンクに格納されるヒープオーバーフローの例があります。そのため、簡単なエクスプロイトで実行されるコマンドを上書きすることが可能です。
Last updated