House of Lore | Small bin Attack
基本情報
コード
これは機能しません
これは機能しません。エラーが発生します:
malloc(): unaligned tcache chunk detected
ゴール
小さなビンに偽の小さなチャンクを挿入して、それを割り当てることができるようにする。 追加された小さなチャンクは、攻撃者が任意の位置に作成する偽のチャンクです。
必要条件
2つの偽のチャンクを作成し、それらと正当なチャンクをリンクしてください:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(他の脆弱性を介して解放された小さなビンのチャンク内のポインタを変更する必要があります)legit.bk
->fake0
その後、fake0
を割り当てることができます。
攻撃
小さなチャンク(
legit
)が割り当てられ、次にトップチャンクと統合されるのを防ぐために別のチャンクが割り当てられます。その後、legit
が解放され(未整列リストに移動)、より大きなチャンクが割り当てられ、legit
が小さなビンに移動します。攻撃者はいくつかの偽の小さなチャンクを生成し、サニティチェックをバイパスするために必要なリンクを作成します:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(他の脆弱性を介して解放された小さなビンのチャンク内のポインタを変更する必要があります)legit.bk
->fake0
小さなチャンクが割り当てられ、
legit
を取得し、**fake0
**を小さなビンのトップリストにします別の小さなチャンクが割り当てられ、チャンクとして
fake0
を取得し、その内部のポインタを読み取り/書き込みする可能性があります。
参考文献
Last updated