就像其他任何系统管理员一样,他坚信自己的内存非常完善,并且能够在深夜记住25位Windows XP安装代码的能力,他最近也遇到了这样的异常。
有一天,决定停下来检查一下UniFi控制器的功能,我收到了一条惊人的消息:登录错误。

挠挠头,想起一会儿他怎么忘记了卡上的密码,而密码是他用纯机械方式键入的,他开始对可能的选项进行分类。 经过半个小时的尝试,在笔记本中搜索笔记,检查粘在显示器上的硬化物,我意识到我必须寻找解决方法。
立即为喜欢批评的人进行预订-使用帐户/密码管理器ala LastPass。 实际上,使用的是LastPass。 并且来自那里的数据没有对成功的身份验证做出贡献。
在资产阶级论坛中搜索后,通过简短的备忘录接收,理解,摘要并收集了用于从控制器中的任何帐户重置密码的必要信息。
因此,鉴于:
1.可以访问OS本身的UniFi控制器(不扮演OS的角色-Linux或Windows)。
2.上网。
3.直臂。
UniFi控制器将整个配置存储在Mongo数据库中。
检查您要寻找的帐户是否有我们需要的信息:
mongo --port 27117 ace --eval 'db.admin.find().forEach(printjson);'
在这种情况下,我们要求提供
管理员帐户的信息。
如果我们正在寻找VasyaPupkin
记帐,查询将如下所示:
mongo --port 27117 ace --eval 'db.VasyaPupkin.find().forEach(printjson);'
排气量大致如下:
MongoDB shell version: 2.6.12 connecting to: 127.0.0.1:27117/ace { "_id" : ObjectId("567bfd4fe4b0c81300ff3158"), "email" : "admin@company.com", "email_alert_enabled" : true, "email_alert_grouping_enabled" : true, "html_email_enabled" : true, "is_professional_installer" : false, "last_site_name" : "default", "name" : "admin", "requires_new_password" : false, "time_created" : NumberLong(1450966351), "ui_settings" : { "dashboardConfig" : { "dashboards" : { "5b4c57aadc236c7de53e3c3c" : { "order" : 1 } }, "lastActiveDashboardId" : "5b4c57aadc236c7de53e3c3c" }, "statisticsPreferBps" : true }, "x_shadow" : "$6$0YiSt9dQ$YrNKedOCjOP2xl3y9FhRasafdhbdfadamBKIjZ4l9Mm4cy/m49dt0bN.sYaFvgVb5vce45KypFe07iNYc1" }
我们感兴趣的领域:
x_shadow" : "$6$0YiSt9dQ$YrNKedOCjOP2xl3y9FhRasafdhbdfadamBKIjZ4l9Mm4cy/m49dt0bN.sYaFvgVb5vce45KypFe07iNYc1"
经过google
分析后,我们发现该加密算法与
SHA-512 crypt(3)兼容。
哎呀 我们将解密的想法推迟到了另一边。
我们可以访问数据库,因此我们只需要知道的密码中的哈希即可。 更新数据库中的记录很简单。
我们去:
我们选择所需的算法,输入将要使用的密码:

按下神奇的蓝色小按钮:

生成的哈希将被仔细复制,然后我们需要它。
现在是时候进行最后一步了:
admin.mongo --port 27117 ace --eval 'db.admin.update({name:"admin"},{$set:{x_shadow:"$6$ee74396ce4c563de$oLm93BwJywYo1sUFgX8U0FC.p75t1Jv838.0defRCe36jgX6PU3h.m3NL6tjCs8Q/1Ymtge0DXz9shb//dyEN."}})'
感光鼓...按Enter。
MongoDB shell version: 2.6.12 connecting to: 127.0.0.1:27117/ace WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
我们转到UniFi控制器的身份验证页面,输入用户名:
admin (我们更改了密码),输入为其生成哈希值的密码。
瞧,一切正常,有通道,每个人都快乐跳舞。