未经授权的 WL.Client.invokeProcedure 调用

Unauthorized WL.Client.invokeProcedure call

WL.Client.InvokeProcedure 是一个内部 API 并由 Worklight Framework 使用,但是,您可以在使用 Google [=] 在调试模式下连接设备后调用此 API Chrome。我们如何限制对 WL.Client.invokeProcedure 的访问,以便用户无法利用此调用?

Steps to replicate (for Exploitation Only):
1. unpack an APK built by Worklight
2. Set the android:debuggable=true (also check how WL Adapters are being called in JS files)
3. Rebuild the APK
4. Install the APK in mobile
5. Start the Application and connect through Chrome://inspect
6. Authenticate as a "normal" user
7. Go to Developer Console
8. Invoke WL.Client.invokeProcedure for any adapter you are authenticated, but with unauthorized User Data

我认为这个测试有点误导,因为作为攻击者的“你”有几个先决条件:拥有操纵代码、调用代码的技术技能,并且知道什么是“普通”用户。

也就是说:

  1. 在即将推出的 MobileFirst Platform v7.0 中,您将能够混淆移动应用程序的代码(iOS、Android 等等)。您现在也可以do this manually

  2. 现在您可以启用 Application Authenticity Protection feature as well as the webResourcesChecksumTest and webResourcesEncryption features. See the security element section in the Application Descriptor user documentation topic

    以上将为您的应用程序添加几层保护,防止篡改应用程序代码,如果校验和已更改则不允许使用该应用程序并验证应用程序身份。