Print Stack Canary

AWSハッキングの学習と練習:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングの学習と練習:HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポート

印刷されたスタックを拡大

スタックオーバーフローに脆弱なプログラムが、スタックオーバーフローの一部を指す puts関数を実行できる状況を想像してみてください。攻撃者は、キャナリの最初のバイトがヌルバイト(\x00)であり、残りのキャナリがランダムバイトであることを知っています。その後、攻撃者は、オーバーフローを作成してキャナリの最初のバイトだけまでスタックを上書きすることができます。

その後、攻撃者は、ペイロードの中間でputs機能を呼び出し、キャナリのすべてを(最初のヌルバイトを除く)印刷します。

この情報を使用して、攻撃者は(同じプログラムセッション内で)キャナリを知っている新しい攻撃を作成して送信できます。

明らかに、この戦術は非常に制限されており、攻撃者はペイロードの内容を印刷してキャナリを外部に送信し、その後、新しいペイロードを作成して(同じプログラムセッション内で)実際のバッファオーバーフローを送信できる必要があります。

CTFの例:

任意の読み取り

フォーマット文字列によって提供されるような任意の読み取りがある場合、キャナリをリークさせることが可能かもしれません。この例をチェックしてください:https://ir0nstone.gitbook.io/notes/types/stack/canaries そして、以下のリンクから任意のメモリアドレスを読み取るためにフォーマット文字列を悪用する方法について読むことができます:

Format Strings

AWSハッキングの学習と練習:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングの学習と練習:HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポート

Last updated