web-dev-qa-db-ja.com

ASLRをバイパスするためにEIPを部分的に上書きするにはどうすればよいですか?

私の知る限り、ASLR保護をバイパスするために、EIPの変更されていない部分を上書きすることが可能です。残念ながら、エクスプロイトの場所にジャンプするためにこれがどのように役立つかはわかりません。そのためには[JMP ESP]命令のアドレスが必要ですが、アドレスは常に変化するため、EIPを部分的に上書きする背後にある考え方は何ですか?

さらに、この answer は、非ASLRモジュールが必要であることを示しています。どのようにしてアドレスの一部を修正し、非ASLRモジュールの一部を変更できますか?

5
Jack Jones

ASLRでは、命令の完全なアドレスは異なりますが、上位バイトのみが異なります。たとえば、バイト1 + 2は静的ですが、バイト3 + 4は静的ではありません。したがって、EIPを部分的に上書きする背後にある考え方は、アドレスの静的バイトのみを上書きして、実行フローの(制限された)制御を取得することです。

1
40F4