Post

OWASP - Juice Shop

OWASP - Juice Shop

Overview

This project is a great resource for who looking to gain hands-on experience with web application security concepts and tools, covering a wide range of vulnerabilities such as SQL injection, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), and more. It offers challenges of varying difficulty levels, making it suitable for beginners as well as more experienced security professionals.

Catagory of vulnerabilities

Tasks

StatusNameDescriptionSolution
API-only XSSPerform a persisted XSS attack with <iframe src="javascript:alert(xss)"> without using the frontend application at all. 
Access LogGain access to any access log file of the server. 
Admin RegistrationRegister as a user with administrator privileges. 
Admin SectionAccess the administration section of the store.just like Score Board
Allowlist BypassEnforce a redirect to a page you are not supposed to redirect to. 
Arbitrary File WriteOverwrite the Legal Information file. 
Bjoern’s Favorite PetReset the password of Bjoern’s OWASP account via the Forgot Password mechanism with the truthful answer to his security question. 
Blockchain HypeLearn about the Token Sale before its official announcement. 
Blocked RCE DoSPerform a Remote Code Execution that would keep a less hardened application busy forever. 
Bonus PayloadUse the bonus payload <iframe width="100%" height="166" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/771984076&color=%23ff5500&auto_play=true&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true"></iframe> in the DOM XSS challenge.Copy and paste the code into search bar
Bully ChatbotReceive a coupon code from the support chatbot.Just spam the chat until it tells you the coupon code :laughing:
CAPTCHA BypassSubmit 10 or more customer feedbacks within 10 seconds. 
Change Bender’s PasswordChange Bender’s password into slurmCl4ssic without using SQL Injection or Forgot Password. 
Christmas SpecialOrder the Christmas special offer of 2014. 
CSP BypassBypass the Content Security Policy and perform an XSS attack with on a legacy page within the application. 
Client-side XSS ProtectionPerform a persisted XSS attack with <iframe src="javascript:alert(xss)"> bypassing a client-side security mechanism. 
Confidential DocumentAccess a confidential document.Visit About Us page and we will see a link to /ftp
Cross-Site ImagingStick cute cross-domain kittens all over our delivery boxes. 
CSRFChange the name of a user by performing Cross-Site Request Forgery from another origin. 
DOM XSSPerform a DOM XSS attack with <iframe src="javascript:alert(xss)">.Copy and paste the code into search bar
Database SchemaExfiltrate the entire DB schema definition via SQL Injection. 
Deluxe FraudObtain a Deluxe Membership without paying for it. 
Deprecated InterfaceUse a deprecated B2B interface that was not properly shut down. 
Easter EggFind the hidden easter egg. 
Email LeakPerform an unwanted information disclosure by accessing data cross-domain. 
Empty User RegistrationRegister a user with an empty email and password.Just like DRY
Ephemeral AccountantLog in with the (non-existing) accountant acc0unt4nt@juice-sh.op without ever registering that user. 
Error HandlingProvoke an error that is neither very gracefully nor consistently handled.In the login page, input some special characters like * -- #
Expired CouponSuccessfully redeem an expired campaign coupon code. 
Exposed MetricsFind the endpoint that serves usage data to be scraped by a popular monitoring system. popular monitoring systemVisit the document page in description and we will see the example link /metrics
Extra LanguageRetrieve the language file that never made it into production. 
Five-Star FeedbackGet rid of all 5-star customer feedback.Visit administrator page and remove 5 stars comment
Forged CouponForge a coupon code that gives you a discount of at least 80%. 
Forged FeedbackPost some feedback in another user’s name. 
Forged ReviewPost a product review as another user or edit any user’s existing review. 
Forged Signed JWTForge an almost properly RSA-signed JWT token that impersonates the (non-existing) user rsa_lord@juice-sh.op. 
Forgotten Developer BackupAccess a developer’s forgotten backup file. 
Forgotten Sales BackupAccess a salesman’s forgotten backup file. 
Frontend TyposquattingInform the shop about a typosquatting imposter that dug itself deep into the frontend. (Mention the exact name of the culprit) 
GDPR Data ErasureLog in with Chris’ erased user account. 
GDPR Data TheftSteal someone else’s personal data without using Injection. 
HTTP-Header XSSPerform a persisted XSS attack with <iframe src="javascript:alert(xss)"> through an HTTP header. 
Imaginary ChallengeSolve challenge #999. Unfortunately, this challenge does not exist. 
Kill ChatbotPermanently disable the support chatbot so that it can no longer answer customer queries. 
Leaked Access LogsDumpster dive the Internet for a leaked password and log in to the original user account it belongs to. (Creating a new account with the same password does not qualify as a solution.) 
Leaked Unsafe ProductIdentify an unsafe product that was removed from the shop and inform the shop which ingredients are dangerous. 
Legacy TyposquattingInform the shop about a typosquatting trick it has been a victim of at least in v6.2.0-SNAPSHOT. (Mention the exact name of the culprit) 
Local File ReadGain read access to an arbitrary local file on the web server. 
Login AdminLog in with the administrator’s user account.' OR '1'='1'--
Login AmyLog in with Amy’s original user credentials. (This could take 93.83 billion trillion trillion centuries to brute force, but luckily she did not read the “One Important Final Note”)After reading Hint, we know that her husband’s name is Kif and search One Important Final Note we will see Password Pading. Copy the dot with her husband’s name, and replace vowel with 1
Login BenderLog in with Bender’s user account.email'--
Login BjoernLog in with Bjoern’s Gmail account without previously changing his password, applying SQL Injection, or hacking his Google account. 
Login JimLog in with Jim’s user account.email'--
Login MC SafeSearchLog in with MC SafeSearch’s original user credentials without applying SQL Injection or any other bypass.After listening to his song, we know that his password is Mr. Noodles and change some o to 0
Login Support TeamLog in with the support team’s original user credentials without applying SQL Injection or any other bypass. 
Manipulate BasketPut an additional product into another user’s shopping basket. 
Mass DispelClose multiple “Challenge solved”-notifications in one go.Press Shift and click X button
Meta Geo StalkingDetermine the answer to John’s security question by looking at an upload of him to the Photo Wall and use it to reset his password via the Forgot Password mechanism.Download the Hiking image and use Exiftool to get GPS Position
Mint the Honey PotMint the Honey Pot NFT by gathering BEEs from the bee haven. 
Misplaced Signature FileAccess a misplaced SIEM signature file. 
Missing EncodingRetrieve the photo of Bjoern’s cat in “melee combat-mode”.Using Cyber chef we will see the URL encoding of the img link or just replace # with #23
Multiple LikesLike any review at least three times as the same user. 
Nested Easter EggApply some advanced cryptanalysis to find the real easter egg. 
NFT TakeoverTake over the wallet containing our official Soul Bound Token (NFT).Visit About Us and scroll down Comment section, we will notice 1 user with comment NFT, visit Bip39 to get your private key
NoSQL DoSLet the server sleep for some time. (It has done more than enough hard work for you) 
NoSQL ExfiltrationAll your orders are belong to us! Even the ones which don’t! 
NoSQL ManipulationUpdate multiple product reviews at the same time. 
Outdated AllowlistLet us redirect you to one of our crypto currency addresses which are not promoted any longer. 
Password StrengthLog in with the administrator’s user credentials without previously changing them or applying SQL Injection.Using FUZZ to brufe force with default-passwords.txt wordlist
Payback TimePlace an order that makes you rich. 
Poison Null ByteBypass a security control with a Poison Null Byte to access a file not meant for your eyes. 
Premium PaywallUnlock Premium Challenge to access exclusive content. 
Privacy PolicyRead our privacy policy.After login as Admin using basic SQL Injection, use can browse to Privacy Policy to complete the task
Privacy Policy InspectionProve that you actually read our privacy policy. 
Product TamperingChange the href of the link within the OWASP SSL Advanced Forensic Tool (O-Saft) product description into https://owasp.slack.com. 
Reflected XSSPerform a reflected XSS attack with <iframe src="javascript:alert(`xss)">. | Visit Order History and Tracking, replace id value with malicious string 
Repetitive RegistrationFollow the DRY principle while registering a user.Using Burp Suite to inspect and change PasswordRepeat to empty
Reset Bender’s PasswordReset Bender’s password via the Forgot Password mechanism with the truthful answer to his security question. 
Reset Bjoern’s PasswordReset the password of Bjoern’s internal account via the Forgot Password mechanism with the truthful answer to his security question. 
Reset Jim’s PasswordReset Jim’s password via the Forgot Password mechanism with the truthful answer to his security question. 
Reset Morty’s PasswordReset Morty’s password via the Forgot Password mechanism with his obfuscated answer to his security question. 
Reset Uvogin’s PasswordReset Uvogin’s password via the Forgot Password mechanism with the original answer to his security question. 
Retrieve BlueprintDeprive the shop of earnings by downloading the blueprint for one of its products. 
SSRFRequest a hidden resource on server through server. 
SSTiInfect the server with juicy malware by abusing arbitrary command execution. 
Score BoardFind the carefully hidden ‘Score Board’ page.F12 to inspect the web, on Sources group click on main.js file and search for Score Board
Security PolicyBehave like any “white hat” should before getting into the action. 
Server-side XSS ProtectionPerform a persisted XSS attack with <iframe src="javascript:alert(xss)"> bypassing a server-side security mechanism. 
SteganographyRat out a notorious character hiding in plain sight in the shop. (Mention the exact name of the character) 
Successful RCE DoSPerform a Remote Code Execution that occupies the server for a while without using infinite loops. 
Supply Chain AttackInform the development team about a danger to some of their credentials. (Send them the URL of the original report or an assigned CVE or another identifier of this vulnerability) 
Two Factor AuthenticationSolve the 2FA challenge for user “wurstbrot”. (Disabling, bypassing or overwriting his 2FA settings does not count as a solution) 
Unsigned JWTForge an essentially unsigned JWT token that impersonates the (non-existing) user jwtn3d@juice-sh.op. 
Upload SizeUpload a file larger than 100 kB. 
Upload TypeUpload a file that has no .pdf or .zip extension. 
User CredentialsRetrieve a list of all user credentials via SQL Injection. 
Video XSSEmbed an XSS payload </script> into our promo video. 
View BasketView another user’s shopping basket.Using Burp Suite to inspect and change Basket value
Visual Geo StalkingDetermine the answer to Emma’s security question by looking at an upload of her to the Photo Wall and use it to reset her password via the Forgot Password mechanism. 
Vulnerable LibraryInform the shop about a vulnerable library it is using. (Mention the exact library name and version in your comment) 
Wallet DepletionWithdraw more ETH from the new wallet than you deposited. 
Web3 SandboxFind an accidentally deployed code sandbox for writing smart contracts on the fly.Just like Score Board
Weird CryptoInform the shop about an algorithm or library it should definitely not use the way it does. 
XXE Data AccessRetrieve the content of C:\Windows\system.ini or /etc/passwd from the server. 
XXE DoSGive the server something to chew on for quite a while. 
Zero StarsGive a devastating zero-star feedback to the store.Using Burp Suite to inspect and change Rating to 0