为什么密码可以在WordPress中导出为纯文本?


8

在WordPress 3.9.2安装上,我可以通过转到“用户”,选择所有用户,然后选择“批量操作导出”来提取用户的纯文本密码。

当我使用phpMyAdmin查找mySQL数据库时,密码将被哈希化。

为什么所有用户密码都可以以纯文本格式导出,如何防止这种情况?

更新资料

当我导出一个用户或“导出所有用户”时,我得到的输出与此类似

User ID,Username,Payment Status,First Name,Last Name,Address,Zip,City,Country,Date,Sex,Phone no.,Email,Company,Password,TOS,Website,AIM,Yahoo IM,Jabber/Google Talk,Biographical Info,Registered,IP
"31","xxx","paid","Jasmine","Lognnes","xxx","xxx","xxx","","xxx","female","","xxx","xxx","xxx","agree","","","","","","2012-01-26 18:13:19","xxx"

7
我只在“用户”页面(WP 3.9.2)的“批量操作”下看到“删除”选项,并且所有用户均被选中:d.pr/i/M2YO您是否在使用插件来获得用户导出功能?
尼克

1
@JasmineLognnes您可以通过两种方法进行调查:(A)将整个/wp-content/plugins/文件夹下载到计算机上,然后使用命令行或支持多文件搜索的文本编辑器在plugins文件夹中搜索单词“ Export” 。(B)在本地计算机上重新创建整个站点,然后关闭插件,直到“导出”功能消失。
尼克

4
您绝对确定您会看到纯文本密码吗?WordPress中从来没有这样的选项。从2.5开始使用phpass,在此之前使用md5哈希。
迈克尔·汉普顿

1
@JasmineLognnes听起来该插件值得进一步研究。从存储在数据库中的散列密码中导出纯文本密码非常困难,但是我想可能是一个恶意的或考虑周全的插件正在以纯文本格式保存密码,因为这些密码是在用户登录时键入的?也可以使用PhpMyAdmin在数据库中搜索明文密码之一-它可能指向将这些行添加到数据库中的插件。如果您找到了罪魁祸首,请不要忘记回答自己的问题-了解更多会很有趣。
尼克,

2
如您的问题所示,如果您在英国并接受付款,并且保存了纯文本密码或采用两种方式的加密格式(如您的问题所示),则您将不符合PCI标准,并且实施将是非法的
Tom J Nowell

Answers:


15

您无法在WordPress中将密码导出为纯文本格式,因为它们不是以纯文本格式存储的。您在这里看到的显然是一个非常糟糕的插件的结果。

领域,如PaymentSexCompany不正规的WordPress表的甚至一部分。

面向未来:请勿在安全的环境中安装未经事先测试和审查的插件。使用本地设置来查找此类安全问题。尤其是在处理其他人的数据时,这是必需的

您现在应该做什么:禁用所有插件,直到无法再导出为止。最后一个禁用的插件可能是问题所在。找到它已创建的所有表,然后删除这些表。卸载该插件。


8

5
这里的错误是一个不良的UI。看来wp-members允许您将自定义字段添加到注册表单,包括“密码”字段。用户不清楚(可以理解)的是,这些添加的字段仅用于收集元数据,而“密码”仅指HTML输入类型,与用户的WP密码无关,也不提供任何保证。安全地存储它。
史蒂芬·哈里斯

2
Toscho已经有了投票;),但我认为这是一个更好的答案……
Mark Kaplun 2014年

实际上,这不是一个更好的答案。这不是插件中的错误,而是“用户错误”。在此答案相关的两篇文章中,第一篇甚至没有谈论WP-Members。谈论的是一个完全不同且无关的插件,用户meta pro。并且,如果有人不愿阅读链接到的第二篇文章,您会看到答案的原因是用户配置其自定义字段的方式,而不是插件中固有的内容。该插件不会将密码存储为纯文本或用户元。
butlerblog 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.