zoukankan      html  css  js  c++  java
  • 破解MSSQL的SA密码

    代码演示暴力破解MSSQL的帐号和密码,包括管理员帐号sa的密码。

    今天看到网上有这样一篇文章“一个SQL Server Sa密码破解的存储过程”:http://www.wangchao.net.cn/bbsdetail_1804540.html,方法就是暴力破解MSSQL的帐号和密码,包括管理员帐号sa的密码,发现写的很好,不知原贴何处,网上有多处转载,下面我对其它的代码稍做修改,并进行了一些性能分析。

    首先说说破解过程序核心思想,就是存储帐号密码的master.dbo.sysxlogins表和未公布的密码比较存储过程pwdcompare。经过一方分析,修改了部分代码,下面贴出修改前后的代码,

    一个SQL Server Sa密码破解的存储过程

    一个SQL Server Sa密码破解的存储过程

     下面是我修改后的代码:

    修改后的SQL Server Sa密码破解的存储过程

    我测试如下

    p_GetPassword2 'b', 6

    用户名 密码 密码ASCII 查询次数和行数
    b 123 49,50,51 1th,66rows;2th,4356rows;3th,287496rows

    性能分析:

    本例以一个查询能查询bigint的最大值条记录9223372036854775807为限做为主机最大性能,来粗略计算破解性能。

    破解一个帐号的密码长度,破解时间和性能消耗,是以所有用于破解的字符长度为底,以密码长度为指数的指数函数,即:破解帐号个数 * (所有用于破解的字符个数)最长密码长度次方 < 主机最大性能:

    • 原存储过程使用256个破解字符,理论上可以破解7位密码,即2567<Max(bigint)。
    • 我修改的存储过程使用66个键盘常规字符,理论上可以破解10位密码,即6610<Max(bigint)。
    • 如果知道密码是10个数字字符的组合,理论上可以破解19位密码,即1019<Max(bigint)。

    专注数据库技术,学以致用。
  • 相关阅读:
    HttpResponse对象、JsonResponse、StreamingHttpResponse、FileResponse
    for循环
    字符串功能
    (二)第一个Spring Boot工程
    (一)安装Docker和Kubernetes
    如何解决CHM打开乱码的问题
    [译]PyUnit—Python单元测试框架(1)
    正则表达式
    Java开发心得
    Shell获取文件后缀名
  • 原文地址:https://www.cnblogs.com/drc/p/1417820.html
Copyright © 2011-2022 走看看