网站首页 > 技术文章 正文
我们的密码破解工具一共分为如下六个部分,前面四个部分我们都有在之前的文章中介绍过了
- 用户图形界面——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的用户名密码需要四个输入参数:服务器地址、服务器端口、用户名和密码。输出用户名密码的验证结果
总结
接下来我们同样总结一下这三个协议的输入输出参数。
经过两天的时间对协议的连接梳理,我们发现所有的协议破解都是需要四个输入参数:服务器地址、服务器端口、用户名和密码。但是对于邮件协议和其它网络协议不一致的地方在于它们的用户名需要符合特殊的格式。
这样梳理之后,我们发现我们的密码破解工具输入参数应该是五个,除了前面说的服务器地址、服务器端口、用户名和密码以外,再添加一个破解的协议类型。输出为破解结果。
猜你喜欢
- 2025-03-25 使用消息代理作为LLM路由器:集成OpenAI和Claude
- 2025-03-25 Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 2025-03-25 虚拟机panic问题排查(虚拟机出现故障,恢复方法)
- 2025-03-25 3分钟简述熔断器使用方法(熔断器的操作流程?)
- 2025-03-25 最近很火的MCP是什么?一文带你搞懂,附大量MCP开源服务端项目!
- 2025-03-25 数据库调优-连接池优化(数据库连接池配置优化)
- 2025-03-25 小白之Tkinter库读文:其他功能-网络功能(51)
- 2025-03-25 python散装笔记——123: 客户端与服务器之间套接字和消息加解密
- 2025-03-25 【Python备忘单】Python编程的快速参考指南
- 2025-03-25 nginx的internal指令(nginx指令详解)
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)