首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL流量的Wireshark密码捕获

MySQL流量的Wireshark密码捕获
EN

Stack Overflow用户
提问于 2018-01-27 23:08:26
回答 1查看 5.2K关注 0票数 1

我在一个测试环境中尝试使用Wireshark来捕获传递给MySQL的凭据。我做了一些挖掘,我读到MySQL客户端在发送之前散列密码,即使是在未加密的情况下也是如此。因此,当我捕获包含凭据的数据包时,我希望看到明文的用户名和传递的散列密码,但这不是我所看到的。用户名是明文的,但密码不等于数据库中的散列密码。更奇怪的是,每次我登录时,包中的密码都会发生变化。

WireShark登录数据包#1:

代码语言:javascript
复制
MAX Packet: 16777216
Charset: utf8 COLLATE utf8_general_ci (33)
Username: root
Password: ada5be054b6a9b44eaa0d86e33fb9442e8af7169
Client Auth Plugin: mysql_native_password

WireShark登录数据包#2:

代码语言:javascript
复制
MAX Packet: 16777216
Charset: utf8 COLLATE utf8_general_ci (33)
Username: root
Password: 78a85ed4ba56ae733057226fdc0a189b7672a0a7
Client Auth Plugin: mysql_native_password

WireShark登录数据包#3:

代码语言:javascript
复制
MAX Packet: 16777216
Charset: utf8 COLLATE utf8_general_ci (33)
Username: root
Password: f097e87cbba8f39cbaa3403dd5f7c966e3ed3969
Client Auth Plugin: mysql_native_password

我已经查看了MySQL文档,并在互联网上搜索,但似乎没有找到任何关于这方面的内容。有人有什么想法/想法吗?

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2018-01-29 20:19:11

虽然不是MySQL方面的专家,但密码授权通常受到replay attack的保护,因此嗅探网络不应允许攻击者通过发送完全相同的数据进行授权。这通常是通过nonce完成的:服务器发送唯一的数据,因此客户端必须提供hash(nonce + password_hash)才能授权。在下一次连接时提供不同的随机数,必须发送不同的授权数据,因此以前的授权数据不能被重用。

还要注意,hash可能是hash of hash of hash of hash,并且在一个或多个步骤中包含salt,因此将发送的数据与已知密码进行比较需要知道确切的算法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48477121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档