使用wireshark解密SQL连接过程及SQL语句

cs-bird 2013-08-16 10:23:19
怎么用wireshark或network monitor解密SQL连接SSL握手以及SQL语句。本人用SQL2005,连接过程默认加密,SQL语句也设置为强制加密,因此整个过程是加密的。数据库证书用的已经是手动配置为自生成的,因此可以获得私钥。按网上说法配置wireshark——在RSA keys list后的空白处填入<ip>,<port>,<protocol>,<key_file_name>等相关信息后无法解密。初以为TDS包头以致wireshark未能辨别SSL握手,通过sniff修改去掉包头后wireshark可识别SSL握手过程,但依旧未能解密SSL握手。请问:怎么用wireshark解密SQL加密连接过程,获取对称密钥后再解密SQL语句。
...全文
956 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
buyilangren 2015-01-15
  • 打赏
  • 举报
回复
我用怎么解密不了呢,密钥是从pfx文件中用openssl导出来的
cs-bird 2013-08-19
  • 打赏
  • 举报
回复
引用 2 楼 hdhai9451 的回复:
不是了解很多,一般数据加密和解密都需要证书验证.同时它要生成一个文件,放到C 盘的一个加密目录下,密码和解密的过程都需要经过验证. 象传送select语句这样,我觉得不需要什么加密. 还有有些加密是不可逆的
嗯,自己解决了,小结一下:SQL数据库用的是SSL握手协议加密登录包,如果设置了强制加密SQL语句则会继续使用SSL握手时交换的密钥。首先我自生成证书并用pfx格式导出,该格式是可以导出私钥的。并且让我的数据库用该证书验证(这个步骤中间曲折不少,泪奔~~)而后用Network Monitor抓取整个过程的包,并用Network monitor Decryption Expert解密。我发现如果用manager登录后再新建查询写查询语句会有会话重用,该工具对于会话重用后的包无法正确解密啊。想要看到正确密文要么用程序连接数据库,要么在不连接的时候直接新建查询,这样没有会话重用包,解密后能够看到正确内容。结贴,内牛满面路过
Andy__Huang 2013-08-18
  • 打赏
  • 举报
回复
不是了解很多,一般数据加密和解密都需要证书验证.同时它要生成一个文件,放到C 盘的一个加密目录下,密码和解密的过程都需要经过验证. 象传送select语句这样,我觉得不需要什么加密. 还有有些加密是不可逆的
cs-bird 2013-08-16
  • 打赏
  • 举报
回复
没人解决么,自顶一下。新进度是现在用Network monitor Decryption Expert解密,设置pfx文件和导出私钥的密码,看似解密过程成功完成,但是在解密后的包里面看不到类似明文,比如登录包里面要有用户名和密码以及数据包要有测试用的select语句,都看不到。解密后看着也是乱码。。。。。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧