setup.icloud.com两步验证

时间:2014-10-28 09:53:46

标签: python ios backup icloud

我正在玩iLoot,这是一个开源应用,让您下载iCloud备份,我想知道如何实现双因素身份验证。

我的帐户启用了2fa,第一次请求的内容是:

第一次请求:

        auth = "Basic %s" % base64.b64encode("%s:%s" % (login, password))
authenticateResponse = plist_request("setup.icloud.com", "POST", "/setup/authenticate/$APPLE_ID$", "", {"Authorization": auth})

plist_request只是一个普通的python(request)函数,它从url请求并返回解析的xml。

第一个回复(xml格式):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"     "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>protocolVersion</key>
    <string>2</string>

    <key>title</key>
    <string>Verification Required</string>

    <key>localizedError</key>
    <string>MOBILEME_TERMS_OF_SERVICE_UPDATE</string>

    <key>message</key>
    <string>This Apple ID is protected with two-step verification. To sign in, you must verify your identity.</string>

</dict>
</plist>
Request /setup/authenticate/$APPLE_ID$ returned code 409

如果有人知道输入两步验证码的下一个电话会是什么,那么可能有助于弄明白。

2 个答案:

答案 0 :(得分:5)

我是iOS用户,而不是后端人员,但我的后端团队通过使用应用专用密码而不是令牌来解决这个问题。

这是用户可以生成应用专用密码的方式:Generate App-Specific Password

然后只使用电子邮件和此密码,而不是dsPrsID形成的令牌:mmeAuthToken。正如我向队友学习的那样,你不必进行base64编码,只需使用新密码和网址:&#39; https://caldav.icloud.com/&#39;

希望这会有所帮助。这对我们来说是一场噩梦,在互联网上根本没有帮助。

<强>更新

有关详细信息,请参阅我在我这边使用的步骤(iOS):

  1. 我致电 https://setup.icloud.com/setup/authenticate/&#34; email@email.com" ,通过设置&#34;基本电子​​邮件:密码&#34; as base64 string to&#34; Authorization&#34; http标头字段。

  2. 我检查响应状态代码。如果是401,则表示您发送的密码是应用程序专用密码,因此我通过内部API将此密码(和电子邮件)直接发送到我的服务器,然后他们使用它来调用iCloud API,并返回我的日历等等。

  3. 如果响应状态代码为409,则表示用户尝试使用普通密码登录,但是他的帐户已启用2fa,我显示错误,警告用户去检索他的应用程序特定的 - 密码,并使用那个,这将导致上面的第2步。

  4. 我不是说这是唯一的方法,但这对我有用。此外,我并不完全知道服务器端发生了什么,但是他们直接使用特定于应用程序的密码(也可能是电子邮件)来完成这项工作。

答案 1 :(得分:2)

你必须用你的appleid替换$ appliid $ ... 然后你得到mmeAuthToken,dsPrsID

https setup.icloud.com/setup/get_account_settings dsPrsID:mmeAuthToken作为基本身份验证 收益: mmeAuthToken (新/其他!!)

备份信息的下一个请求对我没有用... 我现在不是那么远......

之前曾与之合作过的文档:

https://www.elcomsoft.com/PR/recon_2013.pdf https://deepsec.net/docs/Slides/2013/DeepSec_2013_Vladimir_Katalov_-_Cracking_And_Analyzing_Apple_iCloud_Protocols.pdf

感谢您的帖子!带我去iLoot。