iOS Pentesting Checklist
Last updated
Last updated
If you want to know about my latest modifications/additions or you have any suggestion for HackTricks or PEASS, join the , or follow me on Twitter . If you want to share some tricks with the community you can also submit pull requests to **[) **that will be reflected in this book. Don't forget to give ⭐ on the github** to motivate me to continue developing this book.
Check if the application is registering any protocol/scheme
Check if the application is registering to use any protocol/scheme
Check if the application expects to receive any kind of sensitive information from the custom scheme that can be intercepted by the another application registering the same scheme
Check if the application isn't checking and sanitizing users input via the custom scheme and some vulnerability can be exploited
Check if the application exposes any sensitive action that can be called from anywhere via the custom scheme
Check if the application is registering any universal protocol/scheme
Check the apple-app-site-association
file
Check if the application isn't checking and sanitizing users input via the custom scheme and some vulnerability can be exploited
Check if the application exposes any sensitive action that can be called from anywhere via the custom scheme
Check if the application can receive UIActivities and if it's possible to exploit any vulnerability with specially crafted activity
Check if the application if copying anything to the general pasteboard
Check if the application if using the data from the general pasteboard for anything
Monitor the pasteboard to see if any sensitive data is copied
Is the application using any extension?
Check which kind of webviews are being used
Check the status of javaScriptEnabled
, JavaScriptCanOpenWindowsAutomatically
, hasOnlySecureContent
Check if the webview can access local files with the protocol file:// (allowFileAccessFromFileURLs
, allowUniversalAccessFromFileURLs
)
Check if Javascript can access Native methods (JSContext
, postMessage
)
Does the application ?
Check if sensitive information is saved in the ****
Check if ****
**** can be used to access the sensitive information saved in the file system (check the initial point of this checklist)
Also, can be used to modify some configurations of the application, then restore the backup on the phone, and the as the modified configuration is loaded some (security) functionality may be bypassed
Check for sensitive information inside the ****
Check if yo can find ****
Check for the use of to send/store sensitive data
********
If a is used in the application, you should check how the authentication is working.
If it's using the it could be easily bypassed
If it's using a you could create a custom frida script
********
********
********
********
********
****
Perform a and search for web vulnerabilities.
Check if the is checked
Check/Bypass ****
Check for mechanisms
Check for ****