Giter VIP home page Giter VIP logo

prateek147 / dvia Goto Github PK

View Code? Open in Web Editor NEW
426.0 426.0 98.0 55.84 MB

Damn Vulnerable iOS App (DVIA) is an iOS application that is damn vulnerable. Its main goal is to provide a platform to mobile security enthusiasts/professionals or students to test their iOS penetration testing skills in a legal environment. This application covers all the common vulnerabilities found in iOS applications (following OWASP top 10 mobile risks) and contains several challenges that the user can try. This application also contains a section where a user can read various articles on iOS application security. This project is developed and maintained by @prateekg147. The vulnerabilities and solutions covered in this app are tested upto iOS 8.1 .

Home Page: http://damnvulnerableiosapp.com

License: MIT License

Objective-C 99.61% C 0.14% Objective-C++ 0.25%

dvia's People

Contributors

etolstoy avatar prateek147 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dvia's Issues

Xcode 6.4 compile issues

Hi,

Xcode 6.4 threw up many different errors trying to compile this from Github source due to pre-existing developer, app and app group IDs in the project needing to be changed.

I got it to work eventually, but especially given that this project is intended to help beginner pentesters who may not have a lot of experience with Xcode, it would be very helpful to document all the changes that are necessary, particularly since WatchKit App & Extension have been added.

First I had to change the Team & bundle ID for each target in Targets / General / Identity due to an error that the App ID was already taken and had to be unique. Then I had to change the App Group ID (can't remember where I did that).

Next error:

error: WatchKit Extension doesn't contain any WatchKit apps whose bundle identifiers match "com.highaltitudehacks.dvia.watchkitapp". Verify that the value of WKAppBundleIdentifier in your WatchKit Extension's Info.plist matches the value of CFBundleIdentifier in your WatchKit App's Info.plist.

This can be solved by going into Targets / WatchKit Extension / Info / NSExtension / NSExtensionAttributes / WKAppBundleIdentifier and changing this to match the new ID of the WatchKit App that had to be changed in the previous step.

Next I faced a similar error because the WatchKit App had to be updated to match the main app's changed App ID. This seems to require manual editing the Info.plist for the WatchKit App because there's no Info tab exposed for the WatchKit app:

    <key>WKCompanionAppBundleIdentifier</key>
    <string>com.hubert3.dvia</string>

While I fixed the issue I think more documentation about the steps required on recent Xcode would be very valuable to the project.

Installation of DVIA

Hi Prateek! I am on ios 10 currently so I can't use AppSync, and I don't have MacBook too. Is there any other way to install DVIA?

Missing URL for Client Side Injection

- (IBAction)readArticleTapped:(id)sender {}

Missing the open URL call that the other vulnerability view controllers have. I suspect it should look something like this:

[DamnVulnerableAppUtilities pushWebVCWithURL:kArticleURLClientSideInjection viewController:self];

SensitiveInformationDetailsVC Compiler Optimization

Compiler optimization strips the initialization of passwd within initializeLogin. Consequently, searching for it in the heap is futile. Below is the disassembled method from the included .ipa:

screen shot 2017-10-09 at 2 15 52 am

Tagging the variable volatile wasn't enough, but returning the pointer sufficed to throw the compiler off.

-(NSString *)initializeLogin {
    //DO random stuff
    NSString *passwd = @"MYw0r1d1821";
    //Finish doing random stuff
    return passwd;
}

screen shot 2017-10-09 at 3 07 49 am

screen shot 2017-10-09 at 3 10 38 am

Error installing

Hi i tried installing the app with Impactor and see:
the watchkit 2.0 app being installed contains an invalid application executable.
Then I tried installing with ideviceinstaller on linux and see:
ERROR: Install failed. Got error "ApplicationVerificationFailed" with code 0xe8008018: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.RDwLH7/extracted/Payload/DamnVulnerableIOSApp.app : 0xe8008018 (The identity used to sign the executable is no longer valid.)

Crash (assigning NSNumber* to NSString*)

In AppleWatchFirstChallengeViewController.h

@property (strong, nonatomic) NSNumber *cvvCode;

In AppleWatchFirstChallengeViewController.m

-(IBAction)testButtonTapped:(id)sender
 {
    NSString *keyword = self.cvvCode;  //assigning an NSNumber* to an NSString* won't end well ;)
    if ([keyword isEqualToString:userInput]) { //crash! (unrecognized selector)

"DamnVulnerableIOSApp[53627]: -[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x15da9660"

Bitcode requirement for iOS 9

Hi,

I'm trying to use the app compiling in XCode over iOS 9 and it requires bitcode for all libraries. It can be solved using cocoapods, your project uses it but the pod file is not included in the repository.

Please include it so we can know the library versions and the libraries you are using.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.