question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. ItΒ collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[⭐] Free deluxe membership (already existing vulnerability in juice-shop)

See original GitHub issue

⭐ Challenge idea

Description

The rest/deluxe-membership route is vulnerable. Users can upgrade themselves to deluxe members by simply making a POST request to this path with the following parameters

  • UserId: your uid(which you can get by decoding your jwt)
  • payUsingWallet: false

Though this can be easily fixed with minor refactoring, I propose that we make this into a challenge instead

Underlying vulnerability/ies

I guess this would fall under Security Misconfiguration or Miscellaneous

Expected difficulty

βœ”οΈ / ❌ Difficulty
βœ”οΈ ⭐⭐

Possible attack flow

You can replicate the attack right now by making a POST request to localhost:3000/rest/deluxe-membership with the following params

  • UserId: your uid(which you can get by decoding your jwt)
  • payUsingWallet: false
  • After that, logout and login again to refresh your JWT. You are now a deluxe-member and no amount has been deducted from your wallet

This vulnerability can be discovered by examining the requests made when one tries to pay for deluxe membership and then fu

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
bkimminichcommented, Mar 12, 2020

Yeah well, it unfortunately doesn’t work as simple as currently implemented. Just try this:

  1. Log in with credentials demo / demo
  2. Go to Deluxe Membership page and click the button to become a member
  3. Choose the pre-existing credit card for payment and click Continue
  4. The challenge is triggered as solved. Although you β€œpaid” for it.

Simple β€œfix” would be giving the payUsingWallet=true|false needs an β€œupgrade” into something like payment=wallet|card and when that parameter is empty you’d still get your membership. Then it’d be believable business logic flaw and sufficiently different from the password change challenge where the old-password parameter is supposed to be missing entirely to change anyones password.

0reactions
github-actions[bot]commented, Aug 11, 2021

This thread has been automatically locked because it has not had recent activity after it was closed. πŸ”’ Please open a new issue for regressions or related bugs.

Read more comments on GitHub >

github_iconTop Results From Across the Web

[ ⭐ ] Free deluxe membership (already existing vulnerability in ...
⭐ Challenge idea. Description. The rest/deluxe-membership route is vulnerable. Users can upgrade themselves to deluxe members by simply making ...
Read more >
[⭐] Free deluxe membership (already existing vulnerability in juice ...
The rest/deluxe-membership route is vulnerable. Users can upgrade themselves to deluxe members by simply making a POST request to this path with theΒ ......
Read more >
Challenge solutions - Pwning OWASP Juice Shop
By itself, this is not necessarily an indication of vulnerability. However, if the developer is not ... Obtain a Deluxe Membership without paying...
Read more >
Hacking OWASP's Juice Shop Pt. 24: Deluxe Fraud
Challenge: Name: Deluxe Fraud. Description: Obtain a Deluxe Membership without paying for it. Difficulty: 3 star.
Read more >
OWASP Juice Shop
Juice Shop encompasses vulnerabilities from the entire OWASP Top Ten along ... This program is free software: You can redistribute it and/or modify...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found