专栏首页菜鸟小白的学习分享太实用了!自己动手写软件——SSH、FTP和SQL server的密码破解

太实用了!自己动手写软件——SSH、FTP和SQL server的密码破解

我们的密码破解工具一共分为如下六个部分,前面四个部分我们都有在之前的文章中介绍过了,点击蓝色字体即可跳转查看。

今天我们再将剩下来的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

服务器地址服务器端口用户名密码

验证结果

经过两天的时间对协议的连接梳理,我们发现所有的协议破解都是需要四个输入参数:服务器地址、服务器端口、用户名和密码。但是对于邮件协议和其它网络协议不一致的地方在于它们的用户名需要符合特殊的格式。

这样梳理之后,我们发现我们的密码破解工具输入参数应该是五个,除了前面说的服务器地址、服务器端口、用户名和密码以外,再添加一个破解的协议类型。输出为破解结果。

本文分享自微信公众号 - 菜鸟小白的学习分享(cainiao-xiaobai),作者:菜鸟小白的学习分享

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 太实用了!自己动手写软件——邮件用户名密码验证

    数据库类我们之前的文章就已经讲过了,详细可以查看这两篇文章(Python连接MySQL数据库和python使用cx_Oracle库连接oracle服务器...

    菜鸟小白的学习分享
  • oracle 12c数据库在Windows环境下的安装

        首先我们需要下载一个oracle 12c的安装程序,解压后右键点击“setup”可执行程序,以管理员身份运行程序,出现下面检测系统配置界面

    菜鸟小白的学习分享
  • python使用cx_Oracle库连接oracle服务器

       使用python连接oracle数据库服务器需要三个软件的位数一致额版本配套(python版本、oracle数据库服务器版本和oracle客户端连接工具版...

    菜鸟小白的学习分享
  • 信息收集流程

    文章首发在freebuf,地址:信息收集流程 我们在进行渗透的过程中,信息收集可以说是很重要的一环,它直接影响你后续的测试,下面我就对信息收集流程进行一个简单...

    雪痕@
  • V8 引擎和 JavaScript 优化建议

    当我们把压缩、混淆以及做了各种处理的 JavaScript 放到 V8 引擎中解析时,到底发生了些什么?

    WecTeam
  • AI构筑童心教室,打造云上幼儿园

    家里有个四五岁的熊孩子,虽然平时看着跟小人精儿似的,经常怼得大人哑口无言,但送去上幼儿园后,很多家长多少还是有些不放心。

    腾讯智慧教育
  • 无服务器架构的开源框架:OpenFaaS、Knative等等

    作者:Ran Ribenzaft,Epsagon联合创始人兼首席技术官。最初发表在Epsagon博客上。

    CNCF
  • jquery实现轮播图

    用户1749219
  • 《学习之道》第1、2章

    yeedomliu
  • JavaScript面试中,高薪问题总结

    李才哥

扫码关注云+社区

领取腾讯云代金券