The exercises are organized according to the OWASP Mobile Top 10 security risks, providing comprehensive coverage of mobile application vulnerabilities.
| Exercise Category | Implementation Class | Vulnerability Focus |
|---|---|---|
| URL Scheme Attack | URLSchemeAttackExerciseVC | Insecure URL scheme handling |
| Social Engineering | SocialEngineeringVC | Authentication method comparison |
| Exercise | Implementation Class | Storage Type | Vulnerability |
|---|---|---|---|
| Core Data Storage | CoreDataExerciseVC | Core Data | Unencrypted database files |
| Keychain Usage | KeychainExerciseVC | NSUserDefaults vs Keychain | Plaintext credential storage |
| Plist Storage | PlistStorageExerciseViewController | Property Lists | Cleartext sensitive data |
| NSUserDefaults Storage | NSUserDefaultsStorageExerciseVC | User Preferences | Unprotected preference files |
| Realm Data Storage | RealmExerciseVC | Realm Database | Unencrypted Realm files |
| YAP Storage | YapExerciseVC | YapDatabase | Key-value store exposure |
| CouchBase Storage | CouchBaseExerciseVC | CouchBase Lite | NoSQL database leakage |
| Cookie Storage | BinaryCookiesExerciseVC | Binary Cookies | HTTP cookie exposure |
| Webkit Cache | WebkitCacheExerciseVC | Web Cache | Browser cache data leaks |
| Exercise | Implementation Class | Communication Type | Vulnerability |
|---|---|---|---|
| Server Communication | ServerCommunicationExerciseVC | HTTP | Unencrypted data transmission |
| Remote Authentication | RemoteAuthenticationExerciseVC | Authentication | Credential interception |
| Public Key Pinning | PublicKeyPinningExerciseController | SSL/TLS | Certificate validation bypass |
| Exercise | Implementation Class | Focus Area |
|---|---|---|
| Remote Authentication | RemoteAuthenticationExerciseVC | Network authentication vulnerabilities |
| Social Engineering | SocialEngineeringVC | Authentication method security comparison |
| Exercise | Implementation Class | Cryptographic Issue |
|---|---|---|
| Crypto Challenge | CryptoChallengeVC | Weak encryption implementation |
| Hardcoded Keys | BrokenCryptographyExerciseVC | Embedded encryption keys |
| Random Key Generation | RandomKeyGenerationExerciseVC | Predictable key generation |
| Key Storage Server Side | KeyStorageServerSideVC | Server-side key management |
| Secure NSUserDefaults | SecureUserDefaultsViewController | Encryption key exposure |
The authorization vulnerabilities are demonstrated through runtime manipulation and injection exercises that bypass access controls.
| Exercise | Implementation Class | Code Quality Issue |
|---|---|---|
| SQL Injection | SQLInjectionExerciseVC | Dynamic query construction |
| Cross Site Scripting | CrossSiteScriptingExerciseVC | Input validation failures |
| Binary Patching | BinaryPatchingVC | Runtime code modification |
| Exercise | Implementation Class | Tampering Method |
|---|---|---|
| Method Swizzling | MethodSwizzlingExerciseVC | Runtime method substitution |
| Binary Patching | BinaryPatchingVC | Static binary modification |
| Exercise | Implementation Class | Reverse Engineering Target |
|---|---|---|
| String Analysis | StringAnalysisExerciseVC | Hardcoded string extraction |
| Runtime Analysis | RuntimeAnalysisChallengeVC | Dynamic analysis techniques |
| Exercise | Implementation Class | Functionality Risk |
|---|---|---|
| Device Logs | DeviceLogsExerciseVC | Debug logging exposure |
| Cloud Misconfiguration | CloudMisconfigurationExerciseVC | Unintended feature exposure |
- Read the Docs
- DeepWiki has generated a comprehensive documentation wiki for this repo.