Answers:
暴力破解
您可以强行存储在数据库中的哈希。
WordPress使用phpass进行哈希处理。默认情况下,WordPress不使用河豚鱼或类似的东西,而只使用md5,其迭代计数为8192。如果您只想查找真正错误的密码,则蛮行无疑是可行的。
但是我认为这与用户对您的信任有很大的冲突,因此我不建议您使用这种方法。
登录时分析他们的密码
您可以添加一个脚本来拦截对WordPress登录脚本的所有请求,并记录或分析密码,因为此时密码是纯文本的。
当然,只有在用户实际登录后,它才会捕获弱密码。如果用户已放弃网站或处于非活动状态,则可能需要一段时间才能发现他们使用了弱密码。
我认为这比暴力破解哈希还要大,并且还带来一些安全问题(如果您以纯文本形式存储密码,这显然是一个问题,但是即使不是这样,您也可能会不小心存储来自有助于攻击者的分析)。
实施密码策略(并强制用户更改密码)
您可以实施密码策略。当用户提交新密码时,您将检查密码是否符合您的策略(理想情况下,这将通过JavaScript在服务器端而非客户端发生)。
编写好的密码策略很困难,因此请查看现有策略以帮助您。
当然,旧密码不受该策略的影响,因此您需要强制用户更改其旧密码以符合该策略。
极限伤害
强制使用强密码当然是个好主意,但是理想情况下,被黑的WordPress实例并不会真正影响您作为网站管理员。
一旦攻击者获得了WordPress安装的访问权限,您就应该限制损失。理想情况下,您希望只影响一个实例,而不希望整个服务器受到影响(因此,您可能担心攻击者会将不雅内容放到网站上(就像有效用户一样),但不担心代码执行或其他恶意程序活动)。
这是一个相当广泛的主题,但有些要点包括:DISALLOW_FILE_EDIT
,限制使用插件(因为它们的编码安全性远低于WordPress本身),禁止使用JavaScript(例如,使用多站点,只有超级管理员有权发布JavaScript,而不是管理员)等
我不确定这是否有可能。选择密码后,密码将散列存储在数据库中。哈希算法没有反向工程。
以我的经验,密码强度脚本位于中www.example.com/wp-admin/js/password-strength-meter.js
,这是它的链接。
您可以在此处更改密码的级别和百分比,因此可以将强制密码强度设置为100/100。
而且,如果您希望客户检查密码强度,这里有一个可爱的应用程序可以为您提供密码强度。
这里不可能做一些反向工程,此外,很少有插件会迫使用户获得强密码。
好消息是您可以更改用户密码,而坏消息是您看不到用户密码。
WordPress是如此强大,以至于即使在数据库中它也以一种加密方式存储密码,它不仅可以转换为md5哈希,甚至还不是序列化的数据,对于密码,即使更改密码字段,test123
您也会得到类似的信息$P$BjW8o9Dm1vC5bwAcP1iAdNVm0lbvn
在数据库中不使用加密,它将无法正常工作。
我相信您已经意识到了这一点,但我将其保留在此处。您可以使用管理员权限进入wordpress仪表板,转到用户,找到用户,这部分对您来说很不利,因为您必须单击“生成新密码”,它将随机给您一些字母和符号,您可以用您自己的密码编辑它,但是即使那样您也看不到密码。
由于密码是散列的,因此测试其安全性的唯一方法是蛮力地对其进行加密。收集常用的弱密码列表,并对照存储在数据库中的哈希值对它们进行测试。
除非您使用非常详尽的密码列表,否则它不会捕获所有弱密码,但是它将过滤掉其中的最弱密码。
除非您对存储在phpmyadmin中的每个wordpress数据库没有控制权,否则无法强制更改wp管理员密码。
不,没有任何快速的方法可以在500个wordpress网站上找到星期密码。Josip提到了一个结帐密码强度的链接,但是该站点未使用md5加密算法来结帐密码强度。
签出此SO Link,(使用MD5的Wordpress),您将看到输出与该应用程序不同。因此,如您所见, p#aSS*Word14
它不安全。Dance With Me Tonight
因此,请不要使用第三方应用程序来检查您的Wordpress密码,因为可能他们正在使用另一种加密算法来检查/确定密码强度。
另外,您还应该拥有所有密码,并一步一步地对其进行测试,没有任何魔术可以迅速找到答案。
另一件事是,如果一个WordPress站点被黑客入侵,则它不会影响同一服务器中的其他wp站点(DOS攻击除外)。我已经看到许多人在共享托管中启动wp,并且他们的站点遭到黑客攻击,但是他们的邻居站点仍然运行良好,因为每个wp在phpmyadmin上都有其自己的数据库。
Didn't affect other WP site on same server:
巧合!取决于攻击/黑客的类型以及黑客/机器人的意图。
如先前的答案所指出:您无法读取存储的密码。
替代解决方案可以是:
/wp-login.php?action=lostpassword
重置其密码。WordPress密码是散列的,就像任何明智的应用程序在存储密码时一样,因为存储明文密码非常不安全,因为您的用户可能会为使用的其他服务使用相同的密码(例如gmail?)。
不可能将哈希转换回密码,否则最好将它们存储在明文中。以前曾经使用过MD5
哈希算法对密码进行加密,但是安全团队证明该方法不安全,因此哈希算法已更新为phpass
。
提示:即使将md5(%password%)更新到sql列中,WordPress仍然可以正确地对其进行哈希处理。
现在,处理单个站点的实际操作方法是通过将列更改为其他内容并在要更新密码的页面上强制执行密码强度要求来强制更改密码。但是您的用例需要在许多WP安装上执行此操作,并且未经他们的同意,这些网站所有者可能不喜欢您执行此操作。因此,您绝对必须限制行为影响的范围。
1)仅更新管理员,编辑者的密码,但您需要查找这些用户的身份。给他们发送电子邮件,然后在重置密码页面/注册页面等上实施密码限制。请记住,有人可以在网站上的其他地方拥有这些表格(也请考虑AJAX表格)。创建一个WP-CLI命令,可以在这里帮助您执行此计划,而不是加载WP环境和运行脚本。
2)生成彩虹表,该彩虹表由已知字符串(密码)的哈希密码组成。然后,您基本上必须将哈希与特定用户的密码进行匹配,并评估该密码的强度。生成表是这里最慢的步骤,因为您必须对每个可能存在的密码进行哈希处理,然后将其存储在磁盘上(取决于您所使用的密码的长度和密码组合,需要几个GB),然后对结果进行操作。99%的人认为这是满足您需求的过度解决方案。
提示:您知道我们备案的那些盐和秘密wp-config.php
。更改它们会使登录的会话无效,以防万一您需要。
尝试使用字典攻击对其进行暴力破解
有什么更好的方法来评估您的密码强度?:-)是的,我知道,这需要一些时间...
否则,您可以简单地假设所有密码都是弱密码(我想这将是一个非常准确的假设),然后为您自己创建密码,将哈希存储在数据库中,然后使用“安全”将纯文本密码提供给管理员渠道
否则,再次假设所有密码都是弱密码,并迫使管理员更改密码,并在网站本身上使用非常挑剔的密码强度验证器。