(バッファオーバーフローの脆弱性がある)被害者プログラムがあります。このプログラムはgets()を使用して固定サイズのバッファに書き込みます。
シェルコードをSCファイルに入れたとしましょう。
$ ./victim < SC
Input your data:
$
シェルコードが機能しないように見える理由は次のとおりです。 SCが被害者にリダイレクトされ、シェルコードが挿入されてシェルが生成されますが、生成されたシェルはstdinが閉じていることを発見し、すぐに終了します。
expect
注入しようとしましたが、expect
散乱後の殻が爆発します。
唯一の実用的な方法は、シェルコードをマウスの貼り付けバッファに入れて、キーボードを入力デバイスとして保持しながらシェルコードを挿入することです。しかし、貼り付けバッファにバイナリデータを入れる方法がわかりません。
この問題を解決する方法についてのアイデアはありますか?
ベストアンサー1
この問題(誰かが同じ状況で発生した)の解決策は次のとおりです。 https://stackoverflow.com/questions/8509045/execve-bin-sh-0-0-in-a-pipe