私は現在、エクスプロイト開発の課題に取り組んでおり、コンパイルされたバイナリが提示されたため、リモートサーバーで悪用する必要があります。スタック保護は有効化されておらず、ASLRは無効化されています。エクスプロイトを正常に記述し、デバイスでテストしましたが、動作しました。ただし、リモートサーバーで実行すると失敗します。
メモリリークがないため、ret2libcスタイルの攻撃を実行できず、ROPはあまり得意ではありません。バッファがかなりオーバーフローし、実行可能スタックがあります。正確な位置を知らなくてもEIPが自分のバッファーを指すようにするために使用できるROP以外のオプションは何ですか?いくつかのガジェットだけを使用して、EIPを現在のスタックに相対的な場所にポイントすることはできますか?もしそうなら、それを行うために必要なASMの説明に役立つ可能性はありますか?
前もって感謝します。
結局、私は小学校の過ちを犯していたことがわかりました。シェルコードの前にNOPスレッドを付けると、脆弱なアプリケーションのリモートインスタンスの悪用に成功しました。