我们都知道,从WinForms应用程序访问数据库服务器,需要使用连接字符串。如果使用的是用户名/密码的方式连接,一般我们都会加密连接字符串来增强安全性。今天才知道,这是远远不够的。
通过网络数据包捕获工具,我们可以截获到SQL Server采用的TDS协议的数据报文。然后可以找到相应的登录报文。
当然,登录用户的密码是经过混淆的,只不过,混淆的方法很简单。非常容易破解。
混淆的过程如下:
将密码字符转换为UNICODE编码
将每个字节的高4位和低4位互换
最后和一个常数0xA5执行异或XOR操作
这就是最后的密码字符串了。
要破解的话,做相反的操作即可。
哈哈。
通过网络数据包捕获工具,我们可以截获到SQL Server采用的TDS协议的数据报文。然后可以找到相应的登录报文。
当然,登录用户的密码是经过混淆的,只不过,混淆的方法很简单。非常容易破解。
混淆的过程如下:
将密码字符转换为UNICODE编码
将每个字节的高4位和低4位互换
最后和一个常数0xA5执行异或XOR操作
这就是最后的密码字符串了。
要破解的话,做相反的操作即可。
哈哈。