Coder Social home page Coder Social logo

rewanthtammana / damn-vulnerable-bank Goto Github PK

View Code? Open in Web Editor NEW
623.0 19.0 171.0 38.82 MB

Damn Vulnerable Bank is designed to be an intentionally vulnerable android application. This provides an interface to assess your android application security hacking skills.

Home Page: https://rewanthtammana.com/damn-vulnerable-bank/

License: MIT License

Java 65.22% JavaScript 31.19% Dockerfile 0.10% CMake 0.08% Makefile 0.31% C 0.82% HTML 2.19% CSS 0.09%
security android vulnerable-android-apps infosec hacking pentesting android-security application-security vulnerable-application damn-vulnerable-bank

damn-vulnerable-bank's Introduction

Damn Vulnerable Bank

Guide: https://rewanthtammana.com/damn-vulnerable-bank/

About application

Damn Vulnerable Bank is designed to be an intentionally vulnerable android application. All the details are documented in the guide, here.

Guide overview

Upcoming Sessions

NoNameCon

Black Hat Europe

Features

  • Sign up
  • Login
  • My profile interface
  • Change password
  • Settings interface to update backend URL
  • Add fingerprint check before transferring/viewing funds
  • Add pin check before transferring/viewing funds
  • View balance
  • Transfer money
    • Via manual entry
    • Via QR scan
  • Add beneficiary
  • Delete beneficiary
  • View beneficiary
  • View transactions history
  • Download transactions history

List of vulnerabilities in the application

To keep things crisp and interesting, we hidden this section. Do not toggle this button if you want a fun and challenging experience. Try to explore the application, find all the possible vulnerabilities and then cross check your findings with this list.

Spoiler Alert
  • Root and emulator detection
  • Anti-debugging checks (prevents hooking with frida, jdb, etc)
  • SSL pinning - pin the certificate/public key
  • Obfuscate the entire code
  • Encrypt all requests and responses
  • Hardcoded sensitive information
  • Logcat leakage
  • Insecure storage (saved credit card numbers maybe)
  • Exported activities
  • JWT token
  • Webview integration
  • Deep links
  • IDOR

Backend to-do

  • Add profile and change-password routes
  • Create different secrets for admin and other users
  • Add dynamic generation of secrets to verify JWT tokens
  • Introduce bug in jwt verification
  • Find a way to store database and mount it while using docker
  • Dockerize environment

Core Team

Damn Vulnerable Bank was created by

Rewanth Tammana (Rest API) Github LinkedIn
Akshansh Jaiswal (Android App) Github LinkedIn
Hrushikesh Kakade (Android App) Github LinkedIn

Read more, here.

Contributors

damn-vulnerable-bank's People

Contributors

hrushikeshk avatar jaiswalakshansh avatar paralax avatar rewanthtammana avatar shivang1989 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

damn-vulnerable-bank's Issues

Docker

node:19) UnhandledPromiseRejectionWarning: SequelizeHostNotFoundError: getaddrinfo ENOTFOUND mysql mysql:3306
at ConnectionManager.connect (/home/node/dvba/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:120:17)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:19) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:19) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

App doesn't start if phone is rooted

Is it normal that the app doesn't run if my phone is rooted? A "Phone is rooted" message appears and the app doesn't start. I'm not familiar with java so I don't know how to remove this block. I want to test only network and data exchange issues.
Thanks!

error when starting the backendserver

I get this error when I try to start the backendserver

(node:320460) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:320460) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
user@Latitude:~/Damn-Vulnerable-Bank/BackendServer$
online results say its something about not adding catch blocks to where promises are used. maybe issue is depricated packages?

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.