オーバーフローの実践をしています。
変数の書き換えと、EIPをAで上書きしてSegmentationFaultを起こすことはできました。
次に、EIPをmain関数の始めのアドレス(0x12345678)に書き換えたいと思っていて、
bash
1echo -e "AAAAAAAAAA\x78\x56\x34\x12" | ./bof
bash
1ruby -e 'print "A"*10+"\x78\x56\x34\x12"' | ./bof
こんな感じでパイプで入力を送ってみました。
が、SegmentationFaultになってしまいます。
EIPが意図のとおり書き換えられていないのか、mainの始めのアドレスが間違っているのかわからないので、GDBでレジスタの内容を確認したいと思いました。
が、GDBの中で"AAAAAAAAAA\x78\x56\x34\x12"をエスケープ文字?を有効にして入力する方法がわかりません。
GDB実行中にパイプを使っての標準入力は可能でしょうか?
不可能であれば何か代替策はあるでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。