太实用了!自己动手写软件——SSH、FTP和SQL server的密码破解
我们的密码破解工具一共分为如下六个部分,前面四个部分我们都有在之前的文章中介绍过了
- 用户图形界面——GUI编程
- 密码字典获取——Excel文件读取
- 数据库类——MySQL、Oracle和SQL server
- 邮件类——IMAP、POP3和SMTP
- 文件传输类——FTP
- 运维类——SSH
今天我们再将剩下来的ssh、ftp和SQL server协议的登录过程模拟出来看一看。
SSH登录验证
SSH的登录需要我们安装一个paramiko第三方模块,安装命令:
pip install paramiko
我们的登录验证代码是这样的
import paramiko
server_ip = '192.168.106.1'
port = 22
user = 'admin'
password = 'admin'
print("=======破解SSH协议========")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(hostname=server_ip, port=port, username=user, password=password)
print("用户名:%s,密码:%s登录成功\n" % (user, password))
except:
print("用户名:%s,密码:%s无法登录成功\n" % (user, password))
从代码中看出我们要验证SSH用户名密码需要四个参数:服务器地址、服务器端口、用户名和密码。输出用户名密码的验证结果
FTP登录验证
FTP连接可以直接使用python内置模块——ftplib,连接过程编码如下:
import ftplib
server_ip = '127.0.0.1'
port = 21
user = 'admin'
password = 'admin'
print("=======破解FTP协议========")
ftp = ftplib.FTP()
ftp.connect(server_ip, port)
try:
ftp.login(user, password)
ftp.quit()
print("用户名:%s,密码:%s登录成功\n" % (user, password))
except:
print("用户名:%s,密码:%s无法登录成功\n" % (user, password))
从代码中看出我们要验证FTP用户名密码需要四个参数:服务器地址、服务器端口、用户名和密码。输出用户名密码的验证结果
SQL server登录验证
连接SQL server数据库需要我们安装第三方模块——pymssql,安装命令如下:
pip install pymssql
安装完成后,我们的用户名密码验证编码如下:
import pymssql
server_ip = '192.168.106.100'
port = '51502'
user = 'sa'
password = '123456'
print("=======破解SQL server协议========")
try:
pymssql.connect(server_ip, user, password,port=port)
print("用户名:%s,密码:%s登录成功\n" % (user, password))
except :
print("用户名:%s,密码:%s无法登录成功\n" % (user, password))
同样是可以看到我们验证SQL server的用户名密码需要四个输入参数:服务器地址、服务器端口、用户名和密码。输出用户名密码的验证结果
总结
接下来我们同样总结一下这三个协议的输入输出参数。
经过两天的时间对协议的连接梳理,我们发现所有的协议破解都是需要四个输入参数:服务器地址、服务器端口、用户名和密码。但是对于邮件协议和其它网络协议不一致的地方在于它们的用户名需要符合特殊的格式。
这样梳理之后,我们发现我们的密码破解工具输入参数应该是五个,除了前面说的服务器地址、服务器端口、用户名和密码以外,再添加一个破解的协议类型。输出为破解结果。
太实用了!自己动手写软件——SSH、FTP和SQL server的密码破解的更多相关文章
- 太实用了!自己动手写软件——我们的密码PJ器终于完成了
之前我们完成了密码破解工具的界面,今天我们来看看功能实现吧. 目录 编码 提交——功能实现 开始破解——功能实现 读取密码字典 选择协议并执行破解动作 POP3协议的破解函数 IMAP协议的破解函数 ...
- SQL 数据库 学习 003 什么是数据库? 为什么需要数据库?是不是所有的软件都是用Sql Server?
什么是数据库? 为什么需要数据库? 是不是所有的软件都是用Sql Server? 我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Exp ...
- 太实用了!自己动手写软件——GUI编程
这几天我有一个想法就是将我之前做测试写的一些协议脚本(如:ssh.FTP.SMTP.MySQL.Oracle等)综合在一起做一个密码PJ器,这么多的协议放在一起,每个协议都有自己特殊的参数,如果还是和 ...
- SQL Server Log文件对磁盘的写操作大小是多少
原文:SQL Server Log文件对磁盘的写操作大小是多少 SQL Server 数据库有三种文件类型,分别是数据文件.次要数据文件和日志文件,其中日志文件包含着用于恢复数据库的所有日志信息,SQ ...
- 使用PD(Power Designer)设计数据库,并且生成可执行的SQL文件创建数据库(本文以SQL Server Management Studio软件执行为例)
下载和安装PD: 分享我的软件资源,里面包含了对PD汉化包(链接出问题时可以留言,汉化包只能对软件里面部分菜单栏汉化) 链接:https://pan.baidu.com/s/1lNt1UGZhtDV8 ...
- 【原创】自己动手写工具----XSmartNote [Beta 3.0]
一.前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具----XSmartNote [Beta 2.0],这篇博文里,很多园友提出了 ...
- 【原创】自己动手写工具----XSmartNote [Beta 2.0]
一.前面的话 在上一篇自己动手写工具----XSmartNote中,我简单介绍了这个小玩意儿的大致界面和要实现的功能,看了一下园子里的评论,评价褒贬不一,有人说“现在那么多云笔记的工具”,“极简版ev ...
- 【转】自己动手写SC语言编译器
自序 编译原理与技术的一整套理论在整个计算机科学领域占有相当重要的地位,学习它对程序设计人员有很大的帮助.我们考究历史会发现那些人人称颂的程序设 计大师都是编译领域的高手,像写出BASIC语言的BIL ...
- 自己动手写 ASP.NET MVC 分页 part1
学习编程也有一年半载了,从来没有自己动手写过东西,都是利用搜索软件找代码,最近偶发感慨,难道真的继续做码农??? 突发奇想是不是该自己动手写点东西,可是算法.逻辑思维都太弱了,只能copy网上的代码, ...
随机推荐
- cb50a_c++_STL_算法_局部排序partial_sort
cb50a_c++_STL_算法_局部排序partial_sort partial_sort(b,se,e)排序一部分,begin,source end,endcout << " ...
- 三星note8港版如何显示电量百分比呢?
设置-通知-状态栏,显示电量百分比打钩即可.
- thinkphp3.2 where 条件查询
thinkphp3.2 where 条件查询 在连贯操作中条件where的操作有时候自己很晕,所以整理下,有助于使用 查询条件 支持的表达式查询,tp不区分大小写 含义 TP运算符 SQL运算符 例子 ...
- Git配置仓库的用户名邮箱
Git配置单个仓库的用户名邮箱 $ git config user.name "gitlab's Name" $ git config user.email "gitla ...
- 线程间配合:Condition、Semaphore、CountDownLatch、CyclicBarrier
1 重入锁的好搭档:Condition条件 如果大家理解了Object.wait()和Object.notify()方法的话,那么就能很容易理解Condition接口了.它和wait()和notify ...
- Spring中的AOP(二)
2.5 Spring的织入 在上一篇文章中,我们介绍了Pointcut.Advice.Advisor三个必要模块,剩下的工作就是把它们拼装起来,也就是织入过程.在Spring中,使用类org.spri ...
- 入门大数据---HDFS-HA搭建
一.简述 上一篇了解了Zookeeper和HDFS的一些概念,今天就带大家从头到尾搭建一下,其中遇到的一些坑也顺便记录下. 1.1 搭建的拓扑图如下: 1.2 部署环境:Centos3.1,java1 ...
- 入门大数据---Hive的搭建
本博客主要介绍Hive和MySql的搭建: 学习视频一天就讲完了,我看完了自己搭建MySql遇到了一堆坑,然后花了快两天才解决完,终于把MySql搭建好了.然后又去搭建Hive,又遇到了很多坑,就这 ...
- JavaScript基础对象创建模式之链式调用模式(Chaining Pattern)(029)
链式调用模式允许一个接一个地调用对象的方法.这种模式不考虑保存函数的返回值,所以整个调用可以在同一行内完成: myobj.method1("hello").method2().me ...
- 想做时间管理大师?你可以试试Mybatis Plus代码生成器
1. 前言 对于写Crud的老司机来说时间非常宝贵,一些样板代码写不但费时费力,而且枯燥无味.经常有小伙伴问我,胖哥你怎么天天那么有时间去搞新东西,透露一下秘诀呗. 好吧,今天就把Mybatis-pl ...