Test Vulnerabilities
Last updated
Last updated
The .ipa
is now unzipped and the Info.plist
file is converted into a readable format and opened. Now, locate the “App Transport Security Settings,” and there you will find the current ATS configuration which will look something like this:
Check whether your endpoints are already compatible with ATS. Do that using your MacOS device and the /usr/bin/nscurl --ats-diagnostics --verbose <https://yourdomain.com>
Xcode command to verify if your endpoint is currently compatible.
Within the C language, libraries or functions such as _sprintf
, _strlen
, _vsnprintf
, _printf
, _strncpy
,
_memcpy
, _sscanf
, _strcpy
, _strcat
, _vsprintf
, _stat
, _fopen
are deprecated as they can lead to memory corruption so should no longer be used.
Usage of these represent a vulnerability that can be exploited by causing a buffer overflow, which is very difficult to exploit in the iOS ecosystem. However, it is considered a "good practice" not to use them.
You can evidence/discover when the binary may contain the following insecure API(s):
_sprintf
, _strlen
, _vsnprintf
, _printf
, _strncpy
,
_memcpy
, _sscanf
, _strcpy
, _strcat
, _vsprintf
, _stat
, _fopen
.
1. Decompress the .ipa
file
2. Open a terminal in the decompressed folder
3. Run the following command
4. Also you can ask for all the insecure APIs"
Under certain conditions, this weakness can expose the mobile app's data encryption or other randomization-based protection. For example, if encryption tokens are generated within the app.
While this vulnerability could be reported, it is important for code developers, who are the ones with access to the code, to validate whether these random but insecure functions are actually used for encryption since, for example, using an insecure random function to generate a random color on the screen for display is not a security issue since a cryptographically secure random number generator is not needed for this task, even if it can be predicted it would not be a problem.
1. Decompress the .ipa
file
2. Open a terminal in the decompressed folder
3. Run the following command
4. Also you can ask for all the insecure APIs"
See more in and