Home

Awesome

⚠️ Important - Change in Repository

Please note, any further releases and development of InsecureShop will now take place at https://github.com/hax0rgb/InsecureShop

You can update your local copy to track the new repo:

git remote set-url origin https://github.com/hax0rgb/InsecureShop.git

📱 InsecureShop

⚙️ Usage

You can compile the source code in Android Studio or simply download the APK file from here

📌 Note:

🤔 How InsecureShop is different from other Damn Vulnerable Apps?

❗️Vulnerabilities:

  1. Hardcoded Credentials: Credentials are hardcoded somewhere that can be used to login to the application
  2. Insufficient URL Validation: Possible to load any arbitrary URL in webview via Deeplink.
  3. Weak Host Validation Check: Possible to bypass host validation check to load any arbitrary URL in webview.
  4. Arbitrary Code Execution: Arbitrary Code Execution via third-party package contexts.
  5. Access to Protected Components: The app takes an embedded Intent and passes it to method like startActivity. This allows any third party app to launch any protected component.
  6. Unprotected Data URIs: The untrusted URI's passed via loadUrl method allows attackers to pass arbitrary URL in webview.
  7. Theft of Arbitrary: Possible to steal files from app's local storage via ChooserActivity.
  8. Using Components with Known Vulnerabilities: Identify the vulnerable components or libraries used in the app that can allow you to exfiltrate local files to remote domain.
  9. Insecure Broadcast Receiver: An exported activity registers a broadcast during onCreate method execution. An attacker can trigger this broadcast and provide arbitrary URL in 'web_url' parameter.
  10. AWS Cognito Misconfiguration: The misconfigured AWS cognito instance can be used to accesss AWS S3 bucket.
  11. Insecure use of FilePaths in FileProvider: The use of wide file sharing declaration can be used to access root directory via content Provider.
  12. Use of Implicit intent to send a broadcast with sensitive data: The use of Implicit intent can allow third-party apps to steal credentials.
  13. Intercepting Implicit intent to load arbitrary URL: The use of Implicit intent can allow third-party apps to load any arbitrary URL in webview.
  14. Insecure Implementation of SetResult in exported Activity: The insecure implementation used in ResultActivity can be used to access arbitrary content providers.
  15. Insecure Content Provider: The content provider can be accessed by any third-party app to steal user credentials.
  16. Lack of SSL Certificate Validation: The unsafe implementation of OnReceived SSL Error can be used to eavesdrop all the traffic loaded in webview.
  17. Insecure Webview Properties Enabled: Insecure Webview properties are enabled that can allow third-party apps to exfiltrate local data to remote domain.
  18. Insecure Data Storage: The app stores user credentials locally without encrypting them.
  19. Insecure Logging: User credentials are leaked in logcat. Only attackers with physical access to the device can access this information.

🕵 Hints:

The provided link doesn't provide you with solutions but can point you in the right direction 😉:

https://docs.insecureshopapp.com (This is still under development)

🙌 Thanks: