热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

SQLSERVER数据库口令的脆弱性-mysql教程

跟踪了一下数据库专区hrefdev.yesky.comdevsjktarget_blankSQLSERVER数据库服务器的登录过程,发现口令计算是非常脆弱的,SQLSERVER数据库的口令脆弱体现两方面:1、网络登陆时候的口令加密算法2、数据库存储的口令加密

跟踪了一下 数据库 专区 href="http://dev.yesky.com/devsjk" target=_blank>SQL SERVER 数据库 服务器的登录过程,发现 口令 计算是非常脆弱的,SQL SERVER 数据库 的 口令 脆弱体现两方面: 1、网络登陆时候的 口令 加密算法 2、 数据库 存储的 口令 加密

  跟踪了一下数据库专区 href="http://dev.yesky.com/devsjk" target=_blank>SQL SERVER数据库服务器的登录过程,发现口令计算是非常脆弱的,SQL SERVER数据库口令脆弱体现两方面:

  1、网络登陆时候的口令加密算法

  2、数据库存储的口令加密算法。

  下面就分别讲述:

  1、网络登陆时候的口令加密算法

  SQL SERVER网络加密的口令一直都非常脆弱,网上有很多写出来的对照表,但是都没有具体的算法处理,实际上跟踪一下SQL SERVER的登陆过程,就很容易获取其解密的算法:好吧,我们还是演示一下汇编流程:

  登录类型的TDS包跳转到4126a4处执行:

  004DE72E:根据接收到的大小字段生成对应大小的缓冲区进行下一步的拷贝

  004DE748从接收到的TDS BUF偏移8处拷贝出LOGIN的信息

  004DE762:call sub_54E4D0:将新拷贝的缓冲压入进行参数检查的处理

  依次处理TDS包中的信息,各个字段气候都应该有各个域的长度,偏移0X24处与长度进行比较。

  下面这段汇编代码就是实现对网络加密密码解密的算法:

以下是引用片段:
  .text:0065C880 mov cl, [edi]
  .text:0065C882 mov dl, cl
  .text:0065C884 xor cl, 5
  .text:0065C887 xor dl, 0AFh
  .text:0065C88A shr dl, 4
  .text:0065C88D shl cl, 4
  .text:0065C890 or dl, cl
  .text:0065C892 mov [edi], dl
  .text:0065C894 inc edi
  .text:0065C895 dec eax
  .text:0065C896 jnz short loc_65C880
  .text:0065C898 jmp loc_4DE7E6

  很容易就将其换成为C代码,可以看出其加密及其简单,和明文没什么区别,呵呵,大家可以在SNIFFER中嵌入这段代码对嗅叹到的TDS登陆包进行解密,其实0XA5不是特定的SQL SERVER密码字段的分界符号,只是由于加密算法会自动把ASC的双字节表示的0x0加密成0xa5而已,但是如果允许双字节口令,这个就不是判断其分界的主要原因了。

以下是引用片段:
  void sqlpasswd(char * enp,char* dnp)
  {
  int i;
  unsigned char a1;
  unsigned char a2;
  for(i=0;i<128;i++)
  {
  if(enp[i]==0)
  break;
  a1 = enp[i]^5;
  a1 = a1 <<4;
  a2 = enp[i]^0xaf;
  a2 = a2 >> 4;
  dnp[i]=a1|a2;
  }
  dnp[i]=0;
  dnp[i+1]=0;
  wprintf(L"passwd:%s\n",(const wchar_t *)dnp);
  }

  2、数据库存储的口令加密算法

  SQL SERVER的口令数据库存储的加密方法,也是让人怪异的。其过程如下:

  在获得网络解密密码的口令以后在005F9D5A处call SQLSORT_14,实现一个转换为大写口令缓冲进行保存。

  然后在004def6d处调用一个函数取出数据库中的加密的PASSWORD,其形式如下:

  2个字节的头0x0100(固定)

  4个字节的HASH加秘KEY

  20个字节的HASH1

  20个字节的HASH2

  如我取出的一个例子:

以下是引用片段:
  fx:0x0100 1751857F DFDEC4FB618D8D18EBA5A27F615639F607
  CD46BE DFDEC4FB618D8D18EBA5A27F615639F607CD46BE
  固定 补充KEY HASH1 HASH2
  口令是:123456

推荐阅读
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 基于Java和JSP的电子医疗记录管理平台
    随着信息技术的快速发展,各类管理系统已在各行各业得到广泛应用。传统的人工管理模式已逐渐无法满足现代需求。本文介绍了一种基于Java和JSP技术开发的电子医疗记录管理平台,旨在提高医疗行业的信息化水平和管理效率。该平台通过整合先进的数据库技术和Web开发框架,实现了医疗记录的高效存储、查询和管理,为医护人员提供了便捷的操作界面和强大的数据支持。 ... [详细]
  • 在数据库管理中,计算字段(也称为计算列)是一种重要的技术手段。计算字段通过在表定义中使用表达式或函数,自动生成并存储计算结果,从而提高查询效率和数据一致性。本文将详细介绍计算字段的创建方法、优化技巧及其在实际应用中的案例,帮助读者更好地理解和运用这一功能。 ... [详细]
  • 理工科男女不容错过的神奇资源网站
    十一长假即将结束,你的假期学习计划进展如何?无论你是在家中、思念家乡,还是身处异国他乡,理工科学生都不容错过一些神奇的资源网站。这些网站提供了丰富的学术资料、实验数据和技术文档,能够帮助你在假期中高效学习和提升专业技能。 ... [详细]
  • 最近,我在CentOS 5服务器上成功部署了GForge 5.7 Community Edition。与Advanced Server版本相比,虽然功能略有简化,但仍然能够满足大多数开源项目管理的需求。为了确保数据安全,我开发了一套全自动备份脚本,该脚本能够定期备份GForge的数据和配置文件,并将其存储在远程服务器上,以防止数据丢失。此外,该脚本还具备错误检测和日志记录功能,便于故障排查和维护。 ... [详细]
  • 深入解析:Explain命令的应用与字段详解
    深入解析:Explain命令的应用与字段详解 ... [详细]
  • 本文详细解析了如何使用 jQuery 实现一个在浏览器地址栏运行的射击游戏。通过源代码分析,展示了关键的 JavaScript 技术和实现方法,并提供了在线演示链接供读者参考。此外,还介绍了如何在 Visual Studio Code 中进行开发和调试,为开发者提供了实用的技巧和建议。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 题目描述非常吸引人。每颗星星可以通过其在窗口的左下角和右上角位置构建两条扫描线,从而将问题转化为区间增减和求最大值的操作。需要注意的是,位于边界的星星不应计入结果,因此在处理时应分别对左右边界进行适当的增减调整。此外,利用线段树和离散化技术可以显著提高算法效率,确保在大规模数据下的性能表现。 ... [详细]
  • 本文深入探讨了算法进阶中的多个核心主题,包括最大似然估计在统计建模中的应用、赔率计算在风险评估中的重要性、FuzzyWuzzy库在字符串相似度匹配中的高效使用、主成分分析(PCA)在数据降维与特征提取中的关键作用,以及One-Hot编码在处理分类变量时的技术细节。通过这些内容,读者将获得对算法应用的全面理解。 ... [详细]
  • 本文介绍了如何利用Python的`os.path`模块来获取当前脚本文件的绝对路径,实现对文件位置的精准定位。通过示例代码展示了在复杂目录结构下(如 `C:\Users\songlihui\PycharmProjects\test001keshanchu\test\test1\test2\test3\test`)中准确获取文件路径的方法,帮助开发者在实际项目中更高效地管理文件资源。 ... [详细]
  • RK算法通过比较两个字符串的哈希值来实现快速匹配,但即使哈希值相同,也不能确保两字符串完全一致,仍需进行逐字符对比以确认。此过程的时间复杂度为O(n)。此外,RK算法在文本搜索、模式识别等领域有广泛应用,并可通过多种优化策略提高其效率和准确性。 ... [详细]
  • 深入解析JWT的实现与应用
    本文深入探讨了JSON Web Token (JWT) 的实现机制及其应用场景。JWT 是一种基于 RFC 7519 标准的开放性认证协议,用于在各方之间安全地传输信息。文章详细分析了 JWT 的结构、生成和验证过程,并讨论了其在现代 Web 应用中的实际应用案例,为开发者提供了全面的理解和实践指导。 ... [详细]
author-avatar
朱鹏飞0521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有