juice-shop/juice-shop

View on GitHub
data/static/i18n/fr_FR.json

Summary

Maintainability
Test Coverage
{
    "Find the carefully hidden 'Score Board' page.": "Trouvez la page soigneusement cachée 'Score Board'.",
    "Try to find a reference or clue behind the scenes. Or simply guess what URL the Score Board might have.": "Essayez de trouver une référence ou un indice dans les coulisses. Ou simplement de deviner quelle URL le 'Score Board' pourrait avoir.",
    "Perform a <i>persisted</i> XSS attack with <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code> without using the frontend application at all.": "Effectuez une attaque XSS <i>persistée</i> avec <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code> sans utiliser du tout l'application frontend.",
    "You need to work with the server-side API directly. Try different HTTP verbs on different entities exposed through the API.": "Vous devez travailler directement avec l'API côté serveur. Essayez différents verbes HTTP sur différentes entités exposées via l'API.",
    "Gain access to any access log file of the server.": "Obtenez l'accès à n'importe quel fichier de log d'accès du serveur.",
    "Who would want a server access log to be accessible through a web application?": "Qui souhaiterait qu'un journal d'accès au serveur soit accessible via une application web ?",
    "Register as a user with administrator privileges.": "S'inscrire en tant qu'utilisateur avec des privilèges d'administrateur.",
    "You have to assign the unassignable.": "Vous devez assigner l'inassignable.",
    "Access the administration section of the store.": "Accédez à la section d'administration du magasin.",
    "It is just slightly harder to find than the score board link.": "C'est juste un peu plus difficile à trouver que le lien du 'Score Board'.",
    "Overwrite the <a href=\"/ftp/legal.md\">Legal Information</a> file.": "Écraser le fichier <a href=\"/ftp/legal.md\">Informations juridiques</a>.",
    "Look out for a tweet praising new functionality of the web shop. Then find a third party vulnerability associated with it.": "Cherchez un tweet qui fait l'éloge d'une nouvelle fonctionnalité de la boutique en ligne, puis trouvez une vulnérabilité de tierce partie associée à celle-ci.",
    "Reset the password of Bjoern's OWASP account via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>the original answer</i> to his security question.": "Réinitialiser le mot de passe du compte OWASP de Bjoern via le mécanisme <a href=\"/#/forgot-password\">Mot de passe oublié</a> avec <i>la réponse originale</i> à sa question de sécurité.",
    "Learn about the Token Sale before its official announcement.": "En savoir plus sur la vente de jetons avant son annonce officielle.",
    "The developers truly believe in \"Security through Obscurity\" over actual access restrictions.": "Les développeurs croient vraiment en la \"sécurité par l'obscurité\" plutôt qu'à de vraies restrictions d'accès.",
    "Perform a Remote Code Execution that would keep a less hardened application busy <em>forever</em>.": "Effectue une exécution de code à distance qui garderait une application moins endurcie occupée <em>pour toujours</em>.",
    "The feature you need to exploit for this challenge is not directly advertised anywhere.": "La fonctionnalité que vous devez exploiter pour ce défi n'est pas directement évoquée quelque part.",
    "Submit 10 or more customer feedbacks within 20 seconds.": "Envoyez 10 avis clients ou plus en moins de 20 secondes.",
    "After finding a CAPTCHA bypass, write a script that automates feedback submission. Or open many browser tabs and be really quick.": "Après avoir trouvé un contournement au CAPTCHA, écrivez un script qui automatise la soumission des commentaires. Ou ouvrez plusieurs onglets du navigateur et soyez vraiment rapide.",
    "Change Bender's password into <i>slurmCl4ssic</i> without using SQL Injection or Forgot Password.": "Changez le mot de passe de Bender en <i>slurmCl4ssic</i> sans utiliser une Injection SQL ou Mot de passe oublié.",
    "In previous releases this challenge was wrongly accused of being based on CSRF.": "Dans les versions précédentes, ce défi était accusé à tort d'être fondé sur CSRF.",
    "Order the Christmas special offer of 2014.": "Commandez l'offre spéciale de Noël de 2014.",
    "Find out how the application handles unavailable products and try to find a loophole.": "Découvrez comment l'application gère les produits indisponibles et essayez de trouver une échappatoire.",
    "Bypass the Content Security Policy and perform an XSS attack with <code>&lt;script&gt;alert(`xss`)&lt;/script&gt;</code> on a legacy page within the application.": "Outrepassez la Content Security Policy et effectuez une attaque XSS avec `<code>&lt;script&gt;alert(`xss`)&lt;/script&gt;</code>` sur une page legacy de l'application\n",
    "What is even \"better\" than a legacy page with a homegrown RegEx sanitizer? Having CSP injection issues on the exact same page as well!": "Qu'est-ce qui est encore \"mieux\" qu'une page legacy avec un sanitizer RegEx? Avoir des problèmes d'injection CSP sur la même page !",
    "Perform a <i>persisted</i> XSS attack with <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code> bypassing a <i>client-side</i> security mechanism.": "Effectue une attaque XSS <i>persistée</i> avec <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code> contournant un mécanisme de sécurité <i>côté client</i>.",
    "Only some input fields validate their input. Even less of these are persisted in a way where their content is shown on another screen.": "Seuls certains champs de saisie valident leur entrée. Encore moins de ces champs sont persistés de manière à ce que leur contenu soit affiché sur un autre écran.",
    "Access a confidential document.": "Accédez à un document confidentiel.",
    "Analyze and tamper with links in the application that deliver a file directly.": "Analysez et altérez des liens dans l'application qui fournissent directement un fichier.",
    "Perform a <i>DOM</i> XSS attack with <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code>.": "Effectuez une attaque <i>DOM</i> XSS avec <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code>.",
    "Look for an input field where its content appears in the HTML when its form is submitted.": "Recherchez un champ de saisie où son contenu apparaît dans le HTML lorsque le formulaire est soumis.",
    "Exfiltrate the entire DB schema definition via SQL Injection.": "Exfiltrez toute la définition du schéma de la base de données via une Injection SQL.",
    "Find out where this information could come from. Then craft a UNION SELECT attack string against an endpoint that offers an unnecessary way to filter data.": "Renseignez-vous sur l'origine de ces informations. Concevez ensuite une chaîne d'attaque UNION SELECT contre un endpoint qui offre un moyen inutile de filtrer les données.",
    "Use a deprecated B2B interface that was not properly shut down.": "Utilisez une interface B2B obsolète qui n'a pas été correctement arrêtée.",
    "The developers who disabled the interface think they could go invisible by just closing their eyes.": "Les développeurs qui ont désactivé l'interface pensent qu'ils pourraient être invisibles en fermant les yeux.",
    "If you solved one of the three file access challenges, you already know where to find the easter egg.": "Si vous avez résolu l'un des trois défis liés à l'accès aux fichiers, vous savez déjà où trouver l'easter egg.",
    "Perform an unwanted information disclosure by accessing data cross-domain.": "Effectuez une divulgation d'informations non souhaitées en accédant à des données inter-domaine.",
    "Try to find and attack an endpoint that responds with user information. SQL Injection is not the solution here.": "Essayez de trouver et d'attaquer un endpoint qui répond avec les informations de l'utilisateur. Une injection SQL n'est pas la solution ici.",
    "Log in with the (non-existing) accountant <i>acc0unt4nt@juice-sh.op</i> without ever registering that user.": "Connectez-vous avec le compte (inexistant) <i>acc0unt4nt@juice-sh.op</i> sans jamais enregistrer cet utilisateur.",
    "Try to create the needed user \"out of thin air\".": "Essayez de créer l'utilisateur nécessaire \"comme par magie\".",
    "Provoke an error that is neither very gracefully nor consistently handled.": "Provoquez une erreur qui n'est ni très gracieusement ni systématiquement gérée.",
    "Try to submit bad input to forms. Alternatively tamper with URL paths or parameters.": "Essayez de soumettre une entrée incorrecte aux formulaires. Sinon altérez les chemins d'URL ou les paramètres.",
    "Successfully redeem an expired campaign coupon code.": "Echangez avec succès un code coupon de campagne expiré.",
    "Try to identify past special event or holiday campaigns of the shop first.": "Essayez d'abord d'identifier les événements spéciaux passés ou les campagnes de vacances de la boutique.",
    "Retrieve the language file that never made it into production.": "Récupérez le fichier de langue qui n'est jamais allé en production.",
    "Brute force is not the only option for this challenge, but a perfectly viable one.": "La force brute n'est pas la seule option pour ce défi, mais une option parfaitement viable.",
    "Get rid of all 5-star customer feedback.": "Vous pouvez vous débarrasser de tous les avis 5 étoiles.",
    "Once you found admin section of the application, this challenge is almost trivial.": "Une fois que vous avez trouvé la section admin de l'application, ce défi est presque trivial.",
    "Forge a coupon code that gives you a discount of at least 80%.": "Forgez un code coupon qui vous donne une réduction d'au moins 80%.",
    "Post some feedback in another user's name.": "Postez un avis avec le nom d'utilisateur de quelqu'un d'autre",
    "You can solve this by tampering with the user interface or by intercepting the communication with the RESTful backend.": "Vous pouvez résoudre cela en altérant l'interface utilisateur ou en interceptant la communication avec le backend RESTful.",
    "Post a product review as another user or edit any user's existing review.": "Postez un avis de produit en tant qu'un autre utilisateur ou modifiez un avis déjà existant d'un utilisateur.",
    "Observe the flow of product review posting and editing and see if you can exploit it.": "Observez le flux de publication et d'édition des avis sur les produits et voyez si vous pouvez l'exploiter.",
    "Forge an almost properly RSA-signed JWT token that impersonates the (non-existing) user <i>rsa_lord@juice-sh.op</i>.": "Forgez un jeton JWT presque correctement signé avec RSA qui identifie l'utilisateur (inexistant) <i>rsa_lord@juice-sh.op</i>.",
    "This challenge is explicitly not about acquiring the RSA private key used for JWT signing.": "Le but de ce défi n'est pas d'acquérir la clé privée RSA utilisée pour la signature de JWT.",
    "Access a developer's forgotten backup file.": "Accédez à un fichier de sauvegarde oublié d'un développeur.",
    "You need to trick a security mechanism into thinking that the file you want has a valid file type.": "Vous devez tromper un mécanisme de sécurité pour lui faire penser que le fichier que vous souhaitez a un type de fichier valide.",
    "Access a salesman's forgotten backup file.": "Accédez à un fichier de sauvegarde oublié d'un vendeur.",
    "<a href=\"/#/contact\">Inform the shop</a> about a <i>typosquatting</i> imposter that dug itself deep into the frontend. (Mention the exact name of the culprit)": "<a href=\"/#/contact\">Informez la boutique</a> à propos d'une imposture <i>typosquatting</i> qui s'est cachée profondément dans le frontend. (Mentionnez le nom exact du coupable)",
    "This challenge has nothing to do with mistyping web domains. There is no conveniently misplaced file helping you with this one either. Or is there?": "Ce défi n'a rien à voir avec la saisie incorrecte de domaines web. Il n'y a pas non plus de fichier mal placé pour vous aider avec celui-ci, ou bien y en a-t-il ?",
    "Log in with Chris' erased user account.": "Connectez-vous avec le compte utilisateur effacé de Chris.",
    "Turns out that something is technically and legally wrong with the implementation of the \"right to be forgotten\" for users.": "Il s'avère que quelque chose est techniquement et juridiquement erroné avec la mise en œuvre du \"droit à être oublié\" pour les utilisateurs.",
    "Steal someone else's personal data without using Injection.": "Volez les données personnelles de quelqu'un d'autre sans utiliser d'injection.",
    "Trick the regular Data Export to give you more than actually belongs to you.": "Piégez l'export de données pour qu'il vous donne plus que ce qui vous appartient.",
    "Perform a <i>persisted</i> XSS attack with <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code> through an HTTP header.": "Effectuer une attaque XSS <i>persistée</i> avec <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code> via un en-tête HTTP.",
    "Finding a piece of displayed information that could originate from an HTTP header is part of this challenge.": "Trouver un morceau d'informations affichées qui pourrait provenir d'un en-tête HTTP fait partie de ce défi.",
    "Solve challenge #999. Unfortunately, this challenge does not exist.": "Résolvez le défi #999. Malheureusement, ce défi n'existe pas.",
    "You need to trick the hacking progress persistence feature into thinking you solved challenge #999.": "Vous devez piéger la fonction de persistance de la progression du piratage en lui faisant croire que vous avez résolu le défi #999.",
    "Dumpster 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.)": "Plongez dans les profondeurs d'Internet pour trouver un mot de passe compromis et se connecter au compte utilisateur d'origine auquel il appartient. (La création d'un nouveau compte avec le même mot de passe ne constitue pas une solution.)",
    "Once you have it, a technique called \"Password Spraying\" might prove useful.": "Une fois que vous l'avez, une technique appelée \"Password Spraying\" peut s'avérer utile.",
    "Identify an unsafe product that was removed from the shop and <a href=\"/#/contact\">inform the shop</a> which ingredients are dangerous.": "Identifier un produit non sûr qui a été retiré de la boutique et <a href=\"/#/contact\">informer la boutique</a> quels ingrédients sont dangereux.",
    "Your own SQLi and someone else's Ctrl-V will be your accomplices in this challenge!": "Votre propre SQLi et le Ctrl-V de quelqu'un d'autre seront vos complices dans ce défi!",
    "<a href=\"/#/contact\">Inform the shop</a> about a <i>typosquatting</i> trick it has been a victim of at least in <code>v6.2.0-SNAPSHOT</code>. (Mention the exact name of the culprit)": "<a href=\"/#/contact\">Informez la boutique</a> à propos d'une astuce <i>typosquatting</i> dont elle est victime depuis au moins la <code>v6.2.0-SNAPSHOT</code>. (Mentionnez le nom exact du coupable)",
    "This challenge has nothing to do with mistyping web domains. Investigate the forgotten developer's backup file instead.": "Ce défi n'a rien à voir avec la saisie incorrecte de domaines web. Examinez plutôt le fichier de sauvegarde oublié du développeur.",
    "Log in with the administrator's user account.": "Connectez-vous avec le compte utilisateur de l'administrateur.",
    "Try different SQL Injection attack patterns depending whether you know the admin's email address or not.": "Essayez différents modèles d'attaques par injection SQL selon que vous connaissez ou non l'adresse e-mail de l'administrateur.",
    "Log 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\")": "Connectez-vous avec les identifiants originaux d'Amy. (Cela peut prendre 93,83 milliards de trillions de milliards de milliards de siècles pour les brute forcer, mais heureusement elle n'a pas lu le \"One Important Final Note\")",
    "This challenge will make you go after a needle in a haystack.": "Ce défi vous fera chercher une aiguille dans une botte de foin.",
    "Log in with Bender's user account.": "Connectez-vous avec le compte utilisateur de Bender.",
    "If you know Bender's email address, try SQL Injection. Bender's password hash might not help you very much.": "Si vous connaissez l'adresse e-mail de Bender, essayez une injection SQL. Le hachage du mot de passe de Bender ne vous aidera peut-être pas beaucoup.",
    "Log in with Bjoern's Gmail account <i>without</i> previously changing his password, applying SQL Injection, or hacking his Google account.": "Connectez-vous avec le compte Gmail de Bjoern <i>sans</i> changer précédemment son mot de passe, en utilisant une injection SQL ou en piratant son compte Google.",
    "The security flaw behind this challenge is 100% OWASP Juice Shop's fault and 0% Google's.": "La faille de sécurité derrière ce défi est à 100% la faute de OWASP Juice Shop et à 0% la faute de Google.",
    "Exploit OAuth 2.0 to log in with the Chief Information Security Officer's user account.": "Exploitez OAuth 2.0 pour vous connecter avec le compte utilisateur du responsable de la sécurité informatique.",
    "Don't try to beat Google's OAuth 2.0 service. Rather investigate implementation flaws on OWASP Juice Shop's end.": "N'essayez pas de battre le service OAuth 2.0 de Google. Il suffit de chercher les défauts d'implémentation du côté du OWASP Juice Shop.",
    "Log in with Jim's user account.": "Connectez-vous avec le compte utilisateur de Jim.",
    "Try cracking Jim's password hash if you harvested it already. Alternatively, if you know Jim's email address, try SQL Injection.": "Essayez de craquer le hachage du mot de passe de Jim si vous l'avez déjà récolté. Sinon, si vous connaissez l'adresse e-mail de Jim, essayez une injection SQL.",
    "Log in with MC SafeSearch's original user credentials without applying SQL Injection or any other bypass.": "Connectez-vous au compte de MC SafeSearch's avec les identifiants originaux sans appliquer une injection SQL ou un autre contournement",
    "You should listen to MC's hit song \"Protect Ya Passwordz\".": "Vous devriez écouter le tube de MC \"Protect Ya Passwordz\".",
    "Log in with the support team's original user credentials without applying SQL Injection or any other bypass.": "Connectez-vous au compte de l'équipe d'assistance avec les identifiants originaux sans applique d'injection SQL ou autre contournement\n",
    "The underlying flaw of this challenge is a lot more human error than technical weakness.": "La faille sous-jacente de ce défi est plus une erreur humaine qu'une faiblesse technique.",
    "Put an additional product into another user's shopping basket.": "Mettez un produit supplémentaire dans le panier d'achat d'un autre utilisateur.",
    "Have an eye on the HTTP traffic while placing products in the shopping basket. Changing the quantity of products already in the basket doesn't count.": "Jetez un œil sur le trafic HTTP en plaçant des produits dans le panier d'achat. Changer la quantité de produits déjà dans le panier ne compte pas.",
    "Access a misplaced <a href=\"https://github.com/Neo23x0/sigma\">SIEM signature</a> file.": "Accédez a une <a href=\"https://github.com/Neo23x0/sigma\">signature SIEM</a> ",
    "Like any review at least three times as the same user.": "Apprécie n'importe quelle revue, au moins trois fois étant le même utilisateur.",
    "Punctuality is the politeness of kings.": "La ponctualité est la politesse des rois.",
    "Apply some advanced cryptanalysis to find <i>the real</i> easter egg.": "Utilisez une analyse de chiffrement avancée pour trouver le <i>le vrai</i> easter egg.",
    "You might have to peel through several layers of tough-as-nails encryption for this challenge.": "Pour relever ce défi, il vous faudra peut-être passer par plusieurs couches de cryptage très résistantes.",
    "Let the server sleep for some time. (It has done more than enough hard work for you)": "Laissez le serveur dormir un peu. (Il a travaillé plus qu'assez pour vous)",
    "This challenge is essentially a stripped-down Denial of Service (DoS) attack.": "Ce défi est essentiellement une attaque simplifiée de déni de service (DoS).",
    "All your orders are belong to us! Even the ones which don't.": "« Toutes vos commandes nous appartiennent! Même celles qui ne le sont pas. »",
    "Take a close look on how the $where query operator works in MongoDB.": "Regardez de près comment l'opérateur de requête $where fonctionne dans MongoDB.",
    "Update multiple product reviews at the same time.": "Mettre à jour plusieurs avis des produits en même temps.",
    "Take a close look on how the equivalent of UPDATE-statements in MongoDB work.": "Jetez un coup d'œil sur la façon dont l'équivalent des instructions UPDATE en MongoDB fonctionne.",
    "Let us redirect you to one of our crypto currency addresses which are not promoted any longer.": "Laissez-nous vous rediriger vers l'une de nos adresses de cryptomonnaies qui ne sont plus promues.",
    "We might have failed to take this out of our code properly.": "Il se peut que nous n'ayons pas réussi à retirer cela de notre code correctement.",
    "Log in with the administrator's user credentials without previously changing them or applying SQL Injection.": "Connectez-vous avec les identifiants de l'utilisateur de l'administrateur sans les modifier ou appliquer l'injection SQL.",
    "This one should be equally easy to a) brute force, b) crack the password hash or c) simply guess.": "Celui-ci devrait être tout aussi facile à a) force brute, b) briser le hachage du mot de passe ou c) simplement deviner.",
    "Place an order that makes you rich.": "Passez une commande qui vous rend riche.",
    "You literally need to make the shop owe you any amount of money.": "Vous avez littéralement besoin de faire la boutique vous doit toute somme d'argent.",
    "<i class=\"far fa-gem\"></i><i class=\"far fa-gem\"></i><i class=\"far fa-gem\"></i><i class=\"far fa-gem\"></i><i class=\"far fa-gem\"></i><!--IvLuRfBJYlmStf9XfL6ckJFngyd9LfV1JaaN/KRTPQPidTuJ7FR+D/nkWJUF+0xUF07CeCeqYfxq+OJVVa0gNbqgYkUNvn//UbE7e95C+6e+7GtdpqJ8mqm4WcPvUGIUxmGLTTAC2+G9UuFCD1DUjg==--> <a href=\"https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm\" target=\"_blank\"><i class=\"fab fa-btc fa-sm\"></i> Unlock Premium Challenge</a> to access exclusive content.": "<i class=\"far fa-gem\"></i><i class=\"far fa-gem\"></i><i class=\"far fa-gem\"></i><i class=\"far fa-gem\"></i><i class=\"far fa-gem\"></i><!--IvLuRfBJYlmStf9XfL6ckJFngyd9LfV1JaaN/KRTPQPidTuJ7FR+D/nkWJUF+0xUF07CeqYfxq+OJVVa0gNbqgYkUNvn//UbE7e95C+6e+7GtdpqJ8m4WcPvUxmGLTTAC2+G9UuFCD1DUjg==--> <a href=\"https://blockchain.info/address/1AbKfgvw9psQ41NbLi8kufDQTezwG8DRZm\" target=\"_blank\"><i class=\"fab fa-btc fa-sm\"></i> Débloquer le Défi Premium</a> pour accéder au contenu exclusif.",
    "You do not have to pay anything to unlock this challenge! Nonetheless, donations are very much appreciated.": "Vous n'avez rien à payer pour débloquer ce défi! Néanmoins, les dons sont très appréciés.",
    "Read our privacy policy.": "Consulter notre Politique de confidentialité",
    "We won't even ask you to confirm that you did. Just read it. Please. Pretty please.": "On va même pas vous demander de confirmer que vous l'avez fait. Lisez-le juste. S'il vous plaît. Je vous en prie",
    "Prove that you actually read our privacy policy.": "Prouvez que vous avez lu notre politique de confidentialité.",
    "Only by visiting a special URL you can confirm that you read it carefully.": "Vous pouvez confirmer que vous l'avez lu avec attention en visitant une URL spéciale.",
    "Change the <code>href</code> of the link within the <a href=\"/#/search?q=OWASP SSL Advanced Forensic Tool (O-Saft)\">OWASP SSL Advanced Forensic Tool (O-Saft)</a> product description into <i>https://owasp.slack.com</i>.": "Change the <code>href</code> of the link within the <a href=\"/#/search?q=OWASP SSL Advanced Forensic Tool (O-Saft)\">OWASP SSL Advanced Forensic Tool (O-Saft)</a> product description into <i>https://owasp.slack.com</i>.",
    "Look for one of the following: a) broken admin functionality, b) holes in RESTful API or c) possibility for SQL Injection.": "Look for one of the following: a) broken admin functionality, b) holes in RESTful API or c) possibility for SQL Injection.",
    "Perform a <i>reflected</i> XSS attack with <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code>.": "Perform a <i>reflected</i> XSS attack with <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code>.",
    "Look for an input field where its content appears in the response HTML when its form is submitted.": "Look for an input field where its content appears in the response HTML when its form is submitted.",
    "Follow the DRY principle while registering a user.": "Suivez le principe du DRY lors de l'enregistrement d'un utilisateur.",
    "You can solve this by cleverly interacting with the UI or bypassing it altogether.": "You can solve this by cleverly interacting with the UI or bypassing it altogether.",
    "Reset Bender's password via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>the original answer</i> to his security question.": "Reset Bender's password via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>the original answer</i> to his security question.",
    "Not as trivial as Jim's but still not too difficult with some \"Futurama\" background knowledge.": "Pas aussi trivial que celui de Jim, mais pas trop difficile non plus avec quelques connaissances de fond de \"Futurama\".",
    "Reset the password of Bjoern's internal account via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>the original answer</i> to his security question.": "Reset the password of Bjoern's internal account via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>the original answer</i> to his security question.",
    "Nothing a little bit of Facebook stalking couldn't reveal. Might involve a historical twist.": "Nothing a little bit of Facebook stalking couldn't reveal. Might involve a historical twist.",
    "Reset Jim's password via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>the original answer</i> to his security question.": "Reset Jim's password via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>the original answer</i> to his security question.",
    "It's hard for celebrities to pick a security question from a hard-coded list where the answer is not publicly exposed.": "It's hard for celebrities to pick a security question from a hard-coded list where the answer is not publicly exposed.",
    "Reset Morty's password via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>his obfuscated answer</i> to his security question.": "Reset Morty's password via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>his obfuscated answer</i> to his security question.",
    "Find a way to bypass the rate limiting and brute force the obfuscated answer to Morty's security question.": "Find a way to bypass the rate limiting and brute force the obfuscated answer to Morty's security question.",
    "Deprive the shop of earnings by downloading the blueprint for one of its products.": "Deprive the shop of earnings by downloading the blueprint for one of its products.",
    "The product you might want to give a closer look is the OWASP Juice Shop Logo (3D-printed).": "The product you might want to give a closer look is the OWASP Juice Shop Logo (3D-printed).",
    "Request a hidden resource on server through server.": "Demander une ressource cachée sur le serveur via le serveur.",
    "Reverse engineering something bad can make good things happen.": "Reverse engineering something bad can make good things happen.",
    "Infect the server with juicy malware by abusing arbitrary command execution.": "Infect the server with juicy malware by abusing arbitrary command execution.",
    "\"SSTi\" is a clear indicator that this has nothing to do with anything Angular. Also, make sure to use only our non-malicious malware.": "\"SSTi\" is a clear indicator that this has nothing to do with anything Angular. Also, make sure to use only our non-malicious malware.",
    "Behave like any \"white-hat\" should before getting into the action.": "Behave like any \"white-hat\" should before getting into the action.",
    "Perform a <i>persisted</i> XSS attack with <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code> bypassing a <i>server-side</i> security mechanism.": "Perform a <i>persisted</i> XSS attack with <code>&lt;iframe src=\"javascript:alert(`xss`)\"&gt;</code> bypassing a <i>server-side</i> security mechanism.",
    "The \"Comment\" field in the \"Customer Feedback\" screen is where you want to put your focus on.": "The \"Comment\" field in the \"Customer Feedback\" screen is where you want to put your focus on.",
    "<a href=\"/#/contact\">Rat out</a> a notorious character hiding in plain sight in the shop. (Mention the exact name of the character)": "<a href=\"/#/contact\">Rat out</a> un personnage notoire caché dans la boutique. (Mentionnez le nom exact du personnage)",
    "No matter how good your eyes are, you will need tool assistance for this challenge.": "No matter how good your eyes are, you will need tool assistance for this challenge.",
    "Perform a Remote Code Execution that occupies the server for a while without using infinite loops.": "Perform a Remote Code Execution that occupies the server for a while without using infinite loops.",
    "Your attack payload must not trigger the protection against too many iterations.": "Your attack payload must not trigger the protection against too many iterations.",
    "This vulnerability will not affect any customer of the shop. It is aimed exclusively at its developers.": "This vulnerability will not affect any customer of the shop. It is aimed exclusively at its developers.",
    "Solve the 2FA challenge for user \"wurstbrot\". (Disabling, bypassing or overwriting his 2FA settings does not count as a solution)": "Solve the 2FA challenge for user \"wurstbrot\". (Disabling, bypassing or overwriting his 2FA settings does not count as a solution)",
    "The 2FA implementation requires to store a secret for every user. You will need to find a way to access this secret in order to solve this challenge.": "The 2FA implementation requires to store a secret for every user. You will need to find a way to access this secret in order to solve this challenge.",
    "Forge an essentially unsigned JWT token that impersonates the (non-existing) user <i>jwtn3d@juice-sh.op</i>.": "Forge an essentially unsigned JWT token that impersonates the (non-existing) user <i>jwtn3d@juice-sh.op</i>.",
    "This challenge exploits a weird option that is supported when signing tokens with JWT.": "This challenge exploits a weird option that is supported when signing tokens with JWT.",
    "Upload a file larger than 100 kB.": "Télécharger un fichier de plus de 100 kB.",
    "You can attach a small file to the \"Complaint\" form. Investigate how this upload actually works.": "Vous pouvez joindre un petit fichier au formulaire \"plainte\". Examinez comment ce téléchargement fonctionne réellement.",
    "Upload a file that has no .pdf or .zip extension.": "Télécharger un fichier qui n'a pas d'extension .pdf ou .zip.",
    "You can attach a PDF or ZIP file to the \"Complaint\" form. Investigate how this upload actually works.": "Vous pouvez joindre un fichier PDF ou ZIP au formulaire \"plainte\". Examinez comment ce téléchargement fonctionne réellement.",
    "Retrieve a list of all user credentials via SQL Injection.": "Retrieve a list of all user credentials via SQL Injection.",
    "Gather information on where user data is stored and how it is addressed. Then craft a corresponding UNION SELECT attack.": "Gather information on where user data is stored and how it is addressed. Then craft a corresponding UNION SELECT attack.",
    "Embed an XSS payload <code>&lt;/script&gt;&lt;script&gt;alert(`xss`)&lt;/script&gt;</code> into our promo video.": "Embed an XSS payload <code>&lt;/script&gt;&lt;script&gt;alert(`xss`)&lt;/script&gt;</code> into our promo video.",
    "You have to reuse the vulnerability behind one other 6-star challenge to be able to solve this one.": "You have to reuse the vulnerability behind one other 6-star challenge to be able to solve this one.",
    "View another user's shopping basket.": "Voir le panier d'un autre utilisateur.",
    "Have an eye on the HTTP traffic while shopping. Alternatively try to find a client-side association of users to their basket.": "Surveillez le trafic HTTP pendant vos achats. Ou essayez de trouver une association des utilisateurs / paniers côté client.",
    "<a href=\"/#/contact\">Inform the shop</a> about a vulnerable library it is using. (Mention the exact library name and version in your comment)": "<a href=\"/#/contact\">Informez la boutique</a> sur une bibliothèque vulnérable qu'elle utilise. (Mentionnez le nom de la bibliothèque et la version exactes dans votre commentaire)",
    "Report one of two possible answers via the \"Customer Feedback\" form. Do not forget to submit the library's version as well.": "Signalez l'une des deux réponses possibles via le formulaire \"Commentaires clients\". N'oubliez pas de soumettre également la version de la bibliothèque.",
    "<a href=\"/#/contact\">Inform the shop</a> about an algorithm or library it should definitely not use the way it does.": "<a href=\"/#/contact\">Informer la boutique</a> d'un algorithme ou d'une bibliothèque qu'elle ne devrait certainement pas utiliser de la façon dont elle le fait.",
    "Report one of four possible answers via the \"Customer Feedback\" form.": "Report one of four possible answers via the \"Customer Feedback\" form.",
    "Enforce a redirect to a page you are not supposed to redirect to.": "Enforce a redirect to a page you are not supposed to redirect to.",
    "You have to find a way to beat the allowlist of allowed redirect URLs.": "Vous devez trouver un moyen de modifier la liste des URL de redirection autorisées.",
    "Retrieve the content of <code>C:\\Windows\\system.ini</code> or <code>/etc/passwd</code> from the server.": "Retrieve the content of <code>C:\\Windows\\system.ini</code> or <code>/etc/passwd</code> from the server.",
    "The leverage point for this challenge is the deprecated B2B interface.": "The leverage point for this challenge is the deprecated B2B interface.",
    "Give the server something to chew on for quite a while.": "Give the server something to chew on for quite a while.",
    "It is not as easy as sending a large amount of data directly to the deprecated B2B interface.": "It is not as easy as sending a large amount of data directly to the deprecated B2B interface.",
    "Give a devastating zero-star feedback to the store.": "Give a devastating zero-star feedback to the store.",
    "Before you invest time bypassing the API, you might want to play around with the UI a bit.": "Avant d'investir du temps en contournant l'API, vous pourriez vouloir jouer un peu avec l'interface utilisateur.",
    "Your eldest siblings middle name?": "Your eldest siblings middle name?",
    "Mother's maiden name?": "Nom de jeune fille de la mère",
    "Mother's birth date? (MM/DD/YY)": "Date de naissance de la mère ? (MM/JJ/YY)",
    "Father's birth date? (MM/DD/YY)": "Date de naissance de la mère ? (MM/JJ/YY)",
    "Maternal grandmother's first name?": "Prénom de la grand-mère maternelle?",
    "Paternal grandmother's first name?": "Prénom de la grand-mère maternelle?",
    "Name of your favorite pet?": "Nom de votre animal de compagnie préféré ?",
    "Last name of dentist when you were a teenager? (Do not include 'Dr.')": "Nom de famille du dentiste quand vous étiez adolescent ? (Ne pas inclure 'Dr.')",
    "Your ZIP/postal code when you were a teenager?": "Votre code postal lorsque vous étiez un adolescent ?",
    "Company you first work for as an adult?": "Entreprise pour laquelle vous travaillez pour la première fois en tant qu'adulte?",
    "Your favorite book?": "Votre livre favori ?",
    "Your favorite movie?": "Votre film culte?",
    "Number of one of your customer or ID cards?": "Le numéro de votre carte client ou de votre carte d'identité ?",
    "Apple Juice (1000ml)": "Jus de pomme (1000ml)",
    "The all-time classic.": "The all-time classic.",
    "Orange Juice (1000ml)": "Jus d'orange (1000ml)",
    "Made from oranges hand-picked by Uncle Dittmeyer.": "Fabriqué à partir d'oranges ramassées à la main par l'Oncle Dittmeyer.",
    "Eggfruit Juice (500ml)": "Jus de Canistel",
    "Now with even more exotic flavour.": "Maintenant avec encore plus de saveur exotique.",
    "Raspberry Juice (1000ml)": "Jus de framboise (1000ml)",
    "Made from blended Raspberry Pi, water and sugar.": "Fabriqué à partir de Raspberry Pi, eau et sucre.",
    "Lemon Juice (500ml)": "Jus de citron (500ml)",
    "Sour but full of vitamins.": "Aigre mais rempli de vitamines.",
    "Banana Juice (1000ml)": "Jus de banane (1000ml)",
    "Monkeys love it the most.": "Les singes l'adorent le plus.",
    "OWASP Juice Shop T-Shirt": "T-shirt de OWASP Juice Shop",
    "Real fans wear it 24/7!": "Les vrais fans le portent 24/7!",
    "OWASP Juice Shop CTF Girlie-Shirt": "OWASP Juice Shop CTF Girlie-Shirt",
    "For serious Capture-the-Flag heroines only!": "For serious Capture-the-Flag heroines only!",
    "OWASP SSL Advanced Forensic Tool (O-Saft)": "OWASP SSL Advanced Forensic Tool (O-Saft)",
    "O-Saft is an easy to use tool to show information about SSL certificate and tests the SSL connection according given list of ciphers and various SSL configurations. <a href=\"https://www.owasp.org/index.php/O-Saft\" target=\"_blank\">More...</a>": "O-Saft est un outil facile à utiliser pour afficher des informations sur le certificat SSL et tester la connexion SSL selon une liste donnée de chiffrements et diverses configurations SSL. <a href=\"https://www.owasp.org/index.php/O-Saft\" target=\"_blank\">Plus...</a>",
    "Christmas Super-Surprise-Box (2014 Edition)": "Super Surprise-Box de Noël (édition 2014)",
    "Contains a random selection of 10 bottles (each 500ml) of our tastiest juices and an extra fan shirt for an unbeatable price! (Seasonal special offer! Limited availability!)": "Contient une sélection aléatoire de 10 bouteilles (500ml chacune) de nos jus de fruits les plus savoureux et une chemise offerte à un prix imbattable! (Offre spéciale saisonnière! Disponibilité limitée!)",
    "Rippertuer Special Juice": "Rippertuer Special Juice",
    "Contains a magical collection of the rarest fruits gathered from all around the world, like Cherymoya Annona cherimola, Jabuticaba Myrciaria cauliflora, Bael Aegle marmelos... and others, at an unbelievable price! <br/><span style=\"color:red;\">This item has been made unavailable because of lack of safety standards.</span> (This product is unsafe! We plan to remove it from the stock!)": "Contient une collection magique des fruits les plus rares récoltés dans le monde entier, comme Cherymoya Annona cherimola, Jabuticaba Myrciaria cauliflore, marmelos Bael Aeble et d'autres... à un prix incroyable ! <br/><span style=\"color:red;\">Cet élément a été rendu indisponible en raison d'un manque aux normes de sécurité.</span> (Ce produit n'est pas sûr ! Nous prévoyons de le retirer du stock !)",
    "OWASP Juice Shop Sticker (2015/2016 design)": "Autocollant de la boutique OWASP Juice shop (design 2015/2016)",
    "Die-cut sticker with the official 2015/2016 logo. By now this is a rare collectors item. <em>Out of stock!</em>": "Autocollant découpé avec le logo officiel 2015/2016. Il s'agit désormais d'un objet rare de collectionneurs. <em>En rupture de stock !</em>",
    "OWASP Juice Shop Iron-Ons (16pcs)": "OWASP Juice Shop Iron-Ons (16pcs)",
    "Upgrade your clothes with washer safe <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">iron-ons</a> of the OWASP Juice Shop or CTF Extension logo!": "Upgrade your clothes with washer safe <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">iron-ons</a> of the OWASP Juice Shop or CTF Extension logo!",
    "OWASP Juice Shop Magnets (16pcs)": "Aimants de la boutique OWASP Juice Shop (16pcs)",
    "Your fridge will be even cooler with these OWASP Juice Shop or CTF Extension logo <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">magnets</a>!": "Votre réfrigérateur sera encore plus cool avec ces aimants <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">OWASP Juice Shop ou le logo CTF Extension</a>!",
    "OWASP Juice Shop Sticker Page": "OWASP Juice Shop Sticker Page",
    "Massive decoration opportunities with these OWASP Juice Shop or CTF Extension <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">sticker pages</a>! Each page has 16 stickers on it.": "Massive decoration opportunities with these OWASP Juice Shop or CTF Extension <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">sticker pages</a>! Each page has 16 stickers on it.",
    "OWASP Juice Shop Sticker Single": "OWASP Juice Shop Sticker Single",
    "Super high-quality vinyl <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">sticker single</a> with the OWASP Juice Shop or CTF Extension logo! The ultimate laptop decal!": "Super high-quality vinyl <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">sticker single</a> with the OWASP Juice Shop or CTF Extension logo! The ultimate laptop decal!",
    "OWASP Juice Shop Temporary Tattoos (16pcs)": "Tatouages temporaires du OWASP Juice Shop (16pcs)",
    "Get one of these <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">temporary tattoos</a> to proudly wear the OWASP Juice Shop or CTF Extension logo on your skin! If you tweet a photo of yourself with the tattoo, you get a couple of our stickers for free! Please mention <a href=\"https://twitter.com/owasp_juiceshop\" target=\"_blank\"><code>@owasp_juiceshop</code></a> in your tweet!": "Obtenez un de ces <a href=\"https://www.stickeryou.com/products/owasp-juice-shop/794\" target=\"_blank\">tatouages temporaires</a> pour porter fièrement le OWASP Juice Shop ou le logo CTF Extension sur votre peau ! Si vous tweetez une photo de vous-même avec le tatouage, vous obtiendrez des autocollants gratuits! Veuillez mentionner <a href=\"https://twitter.com/owasp_juiceshop\" target=\"_blank\"><code>@owasp_juiceshop</code></a> dans votre tweet!",
    "OWASP Juice Shop Mug": "Tasse de la boutique OWASP Juice Shop",
    "Black mug with regular logo on one side and CTF logo on the other! Your colleagues will envy you!": "La tasse noire avec notre logo d'un côté et le logo de la CTF de l'autre ! Vos collègues vous envieront !",
    "OWASP Juice Shop Hoodie": "OWASP Juice Shop Hoodie",
    "Mr. Robot-style apparel. But in black. And with logo.": "Les vêtements de M. Robot, en noir et avec le logo.",
    "OWASP Juice Shop-CTF Velcro Patch": "OWASP Juice Shop-CTF Velcro Patch",
    "4x3.5\" embroidered patch with velcro backside. The ultimate decal for every tactical bag or backpack!": "4x3.5\" embroidered patch with velcro backside. The ultimate decal for every tactical bag or backpack!",
    "Woodruff Syrup \"Forest Master X-Treme\"": "Woodruff Syrup \"Forest Master X-Treme\"",
    "Harvested and manufactured in the Black Forest, Germany. Can cause hyperactive behavior in children. Can cause permanent green tongue when consumed undiluted.": "Récolte et fabriquée dans la Forêt Noire en Allemagne. Peut causer un comportement hyperactif chez les enfants. Peut causer une langue verte permanente quand elle est consommée non diluée.",
    "Green Smoothie": "Smoothie vert",
    "Looks poisonous but is actually very good for your health! Made from green cabbage, spinach, kiwi and grass.": "Il semble toxique, mais il est en fait très bon pour votre santé! Fabriqué à partir de chou vert, d'épinard, de kiwi et d'herbe.",
    "Quince Juice (1000ml)": "Jus de coing (1000ml)",
    "Juice of the <em>Cydonia oblonga</em> fruit. Not exactly sweet but rich in Vitamin C.": "Jus de <em>Cydonia oblonga</em>. Amer mais riche en vitamine C.",
    "Apple Pomace": "Marc de pommes.",
    "Finest pressings of apples. Allergy disclaimer: Might contain traces of worms. Can be <a href=\"/#recycle\">sent back to us</a> for recycling.": "Les meilleurs pommes pressées. Attention allergie: peut contenir des traces de vers. <a href=\"/#recycle\">Retour</a> possible pour recyclage.",
    "Fruit Press": "Fruit Press",
    "Fruits go in. Juice comes out. Pomace you can send back to us for recycling purposes.": "Fruits en entrée, jus en sortie! Renvoyez-nous le marc pour recyclage.",
    "OWASP Juice Shop Logo (3D-printed)": "Logo boutique OWASP Juice Shop (impression 3D).",
    "This rare item was designed and handcrafted in Sweden. This is why it is so incredibly expensive despite its complete lack of purpose.": "Cet objet rare a été conçu et fabriqué à la main en Suède. C'est pourquoi il est si incroyablement coûteux malgré son manque total d'intérêt.",
    "Juice Shop Artwork": "Œuvres de la boutique",
    "Unique masterpiece painted with different kinds of juice on 90g/m² lined paper.": "Un chef-d'œuvre unique peint avec différents types de jus sur du papier glacé (90g/m²).",
    "Global OWASP WASPY Award 2017 Nomination": "Global OWASP WASPY Award 2017 Nomination",
    "Your chance to nominate up to three quiet pillars of the OWASP community ends 2017-06-30! <a href=\"https://www.owasp.org/index.php/WASPY_Awards_2017\">Nominate now!</a>": "Your chance to nominate up to three quiet pillars of the OWASP community ends 2017-06-30! <a href=\"https://www.owasp.org/index.php/WASPY_Awards_2017\">Nominate now!</a>",
    "Strawberry Juice (500ml)": "Strawberry Juice (500ml)",
    "Sweet & tasty!": "Sweet & tasty!",
    "Carrot Juice (1000ml)": "Carrot Juice (1000ml)",
    "As the old German saying goes: \"Carrots are good for the eyes. Or has anyone ever seen a rabbit with glasses?\"": "As the old German saying goes: \"Carrots are good for the eyes. Or has anyone ever seen a rabbit with glasses?\"",
    "OWASP Juice Shop Sweden Tour 2017 Sticker Sheet (Special Edition)": "OWASP Juice Shop Sweden Tour 2017 Sticker Sheet (Special Edition)",
    "10 sheets of Sweden-themed stickers with 15 stickers on each.": "10 sheets of Sweden-themed stickers with 15 stickers on each.",
    "Pwning OWASP Juice Shop": "Pwning OWASP Juice Shop",
    "Melon Bike (Comeback-Product 2018 Edition)": "Melon Bike (Comeback-Product 2018 Edition)",
    "The wheels of this bicycle are made from real water melons. You might not want to ride it up/down the curb too hard.": "The wheels of this bicycle are made from real water melons. You might not want to ride it up/down the curb too hard.",
    "OWASP Juice Shop Coaster (10pcs)": "OWASP Juice Shop Coaster (10pcs)",
    "Our 95mm circle coasters are printed in full color and made from thick, premium coaster board.": "Our 95mm circle coasters are printed in full color and made from thick, premium coaster board.",
    "Retrieve the photo of Bjoern's cat in \"melee combat-mode\".": "Retrieve the photo of Bjoern's cat in \"melee combat-mode\".",
    "Check the Photo Wall for an image that could not be loaded correctly.": "Check the Photo Wall for an image that could not be loaded correctly.",
    "Stick <a href=\"http://placekitten.com/\" target=\"_blank\">cute cross-domain kittens</a> all over our delivery boxes.": "Stick <a href=\"http://placekitten.com/\" target=\"_blank\">cute cross-domain kittens</a> all over our delivery boxes.",
    "This challenge would formally have to be in several categories as the developers made multiple gaffes for this to be possible.": "This challenge would formally have to be in several categories as the developers made multiple gaffes for this to be possible.",
    "ea.": "ea.",
    "Delivery Price": "Delivery Price",
    "Total Price": "Total Price",
    "Bonus Points Earned": "Bonus Points Earned",
    "The bonus points from this order will be added 1:1 to your wallet ¤-fund for future purchases!": "The bonus points from this order will be added 1:1 to your wallet ¤-fund for future purchases!",
    "Thank you for your order!": "Thank you for your order!",
    "Order Confirmation": "Order Confirmation",
    "Customer": "Customer",
    "Order": "Order",
    "Date": "Date",
    "OWASP Juice Shop Holographic Sticker": "OWASP Juice Shop Holographic Sticker",
    "Die-cut holographic sticker. Stand out from those 08/15-sticker-covered laptops with this shiny beacon of 80's coolness!": "Die-cut holographic sticker. Stand out from those 08/15-sticker-covered laptops with this shiny beacon of 80's coolness!",
    "OWASP Snakes and Ladders - Mobile Apps": "OWASP Snakes and Ladders - Mobile Apps",
    "This amazing mobile app security awareness board game is <a href=\"https://steamcommunity.com/sharedfiles/filedetails/?id=1970691216\">available for Tabletop Simulator on Steam Workshop</a> now!": "This amazing mobile app security awareness board game is <a href=\"https://steamcommunity.com/sharedfiles/filedetails/?id=1970691216\">available for Tabletop Simulator on Steam Workshop</a> now!",
    "OWASP Snakes and Ladders - Web Applications": "OWASP Snakes and Ladders - Web Applications",
    "This amazing web application security awareness board game is <a href=\"https://steamcommunity.com/sharedfiles/filedetails/?id=1969196030\">available for Tabletop Simulator on Steam Workshop</a> now!": "This amazing web application security awareness board game is <a href=\"https://steamcommunity.com/sharedfiles/filedetails/?id=1969196030\">available for Tabletop Simulator on Steam Workshop</a> now!",
    "<em>The official Companion Guide</em> by Björn Kimminich available <a href=\"https://leanpub.com/juice-shop\">for free on LeanPub</a> and also <a href=\"https://pwning.owasp-juice.shop\">readable online</a>!": "<em>Le guide officiel</em> de Björn Kimminich est disponible <a href=\"https://leanpub.com/juice-shop\">gratuitement sur LeanPub</a> et <a href=\"https://pwning.owasp-juice.shop\">en lecture en ligne</a>!",
    "We are out of stock! Sorry for the inconvenience.": "Nous sommes en rupture de stock ! Désolé pour la gêne occasionnée.",
    "Wrong answer to CAPTCHA. Please try again.": "Mauvaise réponse au CAPTCHA. Veuillez réessayer.",
    "Invalid email or password.": "E-mail ou mot de passe non valide.",
    "Current password is not correct.": "Mot de passe incorrect.",
    "Password cannot be empty.": "Le champ du mot de passe ne peut pas être vide.",
    "New and repeated password do not match.": "Les mots de passe ne correspondent pas.",
    "Wrong answer to security question.": "Mauvaise réponse à la question de sécurité.",
    "<a href=\"/#/contact\">Inform the development team</a> about a danger to some of <em>their</em> credentials. (Send them the URL of the <em>original report</em> or an assigned CVE or another identifier of this vulnerability)": "<a href=\"/#/contact\">Contacter l'équipe de développement</a> sur un danger pour certains <em>de leurs identifiants</em>. (Envoyez-leur l'URL du <em>rapport original</em>, un CVE ou un autre identifiant de cette vulnérabilité)",
    "You can order only up to {{quantity}} items of this product.": "Vous ne pouvez commander que jusqu'à {{quantity}} articles de ce produit.",
    " <em>(This challenge is <strong>not available</strong> on Docker!)</em>": " <em>(Ce défi n'est pas <strong>disponible</strong> sur Docker!)</em>",
    " <em>(This challenge is <strong>not available</strong> on Heroku!)</em>": " <em>(Ce défi n'est pas <strong>disponible</strong> sur Heroku !)</em>",
    " <em>(This challenge is <strong>not available</strong> on Gitpod!)</em>": " <em>(This challenge is <strong>not available</strong> on Gitpod!)</em>",
    " <em>(This challenge is <strong>potentially harmful</strong> on Docker!)</em>": " <em>(Ce défi est <strong>potentiellement dangereux</strong> sur Docker!)</em>",
    " <em>(This challenge is <strong>potentially harmful</strong> on Gitpod!)</em>": " <em>(This challenge is <strong>potentially harmful</strong> on Gitpod!)</em>",
    " <em>(This challenge is <strong>potentially harmful</strong> on Heroku!)</em>": " <em>(Ce défi est <strong>potentiellement dangereux</strong> sur Heroku !)</em>",
    "Find the endpoint that serves usage data to be scraped by a <a href=\"https://github.com/prometheus/prometheus\">popular monitoring system</a>.": "Find the endpoint that serves usage data to be scraped by a <a href=\"https://github.com/prometheus/prometheus\">popular monitoring system</a>.",
    "Try to guess what URL the endpoint might have.": "Essayez de deviner l'URL du point de terminaison.",
    "Look for a url parameter where its value appears in the page it is leading to.": "Recherchez un paramètre d'URL où sa valeur apparaît dans la page vers laquelle elle mène.",
    "Change the name of a user by performing Cross-Site Request Forgery from <a href=\"http://htmledit.squarefree.com\">another origin</a>.": "Changez le nom d'un utilisateur en effectuant une Cross-Site Request Forgery depuis <a href=\"http://htmledit.squarefree.com\">une autre origine</a>.",
    "Use the bonus payload <code>&lt;iframe width=&quot;100%&quot; height=&quot;166&quot; scrolling=&quot;no&quot; frameborder=&quot;no&quot; allow=&quot;autoplay&quot; src=&quot;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/771984076&amp;color=%23ff5500&amp;auto_play=true&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true&quot;&gt;&lt;/iframe&gt;</code> in the <i>DOM XSS</i> challenge.": "Use the bonus payload <code>&lt;iframe width=&quot;100%&quot; height=&quot;166&quot; scrolling=&quot;no&quot; frameborder=&quot;no&quot; allow=&quot;autoplay&quot; src=&quot;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/771984076&amp;color=%23ff5500&amp;auto_play=true&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true&quot;&gt;&lt;/iframe&gt;</code> in the <i>DOM XSS</i> challenge.",
    "Copy + Paste = Solved!": "Copier + Coller = Résolu !",
    "Obtain a Deluxe Membership without paying for it.": "Obtenez un Abonnement Deluxe sans le payer.",
    "Look closely at what happens when you attempt to upgrade your account.": "Regardez attentivement ce qui se passe lorsque vous tentez de mettre à niveau votre compte.",
    " <em>(This challenge is <strong>not available</strong> on Windows!)</em>": " <em>(Ce défi n'est <strong>pas disponible</strong> sur Windows!)</em>",
    "Reset Uvogin's password via the <a href=\"/#/forgot-password\">Forgot Password</a> mechanism with <i>the original answer</i> to his security question.": "Réinitialiser le mot de passe d'Uvogin via le lien <a href=\"/#/forgot-password\">Mot de passe oublié</a> avec <i>la réponse</i> à sa question de sécurité.",
    "You might have to do some OSINT on his social media personas to find out his honest answer to the security question.": "You might have to do some OSINT on his social media personas to find out his honest answer to the security question.",
    "Juice Shop Adversary Trading Card (Common)": "Juice Shop Adversary Trading Card (Common)",
    "Common rarity \"Juice Shop\" card for the <a href=\"https://docs.google.com/forms/d/e/1FAIpQLSecLEakawSQ56lBe2JOSbFwFYrKDCIN7Yd3iHFdQc5z8ApwdQ/viewform\">Adversary Trading Cards</a> CCG.": "Common rarity \"Juice Shop\" card for the <a href=\"https://docs.google.com/forms/d/e/1FAIpQLSecLEakawSQ56lBe2JOSbFwFYrKDCIN7Yd3iHFdQc5z8ApwdQ/viewform\">Adversary Trading Cards</a> CCG.",
    "Juice Shop Adversary Trading Card (Super Rare)": "Juice Shop Adversary Trading Card (Super Rare)",
    "Super rare \"Juice Shop\" card with holographic foil-coating for the <a href=\"https://docs.google.com/forms/d/e/1FAIpQLSecLEakawSQ56lBe2JOSbFwFYrKDCIN7Yd3iHFdQc5z8ApwdQ/viewform\">Adversary Trading Cards</a> CCG.": "Super rare \"Juice Shop\" card with holographic foil-coating for the <a href=\"https://docs.google.com/forms/d/e/1FAIpQLSecLEakawSQ56lBe2JOSbFwFYrKDCIN7Yd3iHFdQc5z8ApwdQ/viewform\">Adversary Trading Cards</a> CCG.",
    "OWASP Juice Shop \"King of the Hill\" Facemask": "OWASP Juice Shop \"King of the Hill\" Facemask",
    "Facemask with compartment for filter from 50% cotton and 50% polyester.": "Facemask with compartment for filter from 50% cotton and 50% polyester.",
    "Determine 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 <a href=\"/#/forgot-password\">Forgot Password</a> mechanism.": "Trouvez la réponse à la question de sécurité de John en regardant son image dans le mur des images et utilisez-la pour réinitialiser son mot de passe via lien <a href=\"/#/forgot-password\">Mot de passe oublié</a>.",
    "Take a look at the meta data of the corresponding photo.": "Jetez un coup d'oeil aux méta-données de la photo.",
    "Determine 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 <a href=\"/#/forgot-password\">Forgot Password</a> mechanism.": "Trouvez la réponse à la question de sécurité d'Emma en regardant son image dans le mur des images et utilisez-la pour réinitialiser son mot de passe via lien <a href=\"/#/forgot-password\">Mot de passe oublié</a>.",
    "Take a look at the details in the photo to determine the location of where it was taken.": "Regarder attentivement la photo pour déterminer l'endroit où elle a été prise.",
    "Juice Shop \"Permafrost\" 2020 Edition": "\"Permafrost\" Édition 2020",
    "Best Juice Shop Salesman Artwork": "Meilleure œuvre d'un vendeur",
    "Unique digital painting depicting Stan, our most qualified and almost profitable salesman. He made a succesful carreer in selling used ships, coffins, krypts, crosses, real estate, life insurance, restaurant supplies, voodoo enhanced asbestos and courtroom souvenirs before <em>finally</em> adding his expertise to the Juice Shop marketing team.": "Unique digital painting depicting Stan, our most qualified and almost profitable salesman. He made a succesful carreer in selling used ships, coffins, krypts, crosses, real estate, life insurance, restaurant supplies, voodoo enhanced asbestos and courtroom souvenirs before <em>finally</em> adding his expertise to the Juice Shop marketing team.",
    "20th Anniversary Celebration Ticket": "20th Anniversary Celebration Ticket",
    "Get your <a href=\"https://20thanniversary.owasp.org/\" target=\"_blank\">free 🎫 for OWASP 20th Anniversary Celebration</a> online conference! Hear from world renowned keynotes and special speakers, network with your peers and interact with our event sponsors. With an anticipated 10k+ attendees from around the world, you will not want to miss this live on-line event!": "Get your <a href=\"https://20thanniversary.owasp.org/\" target=\"_blank\">free 🎫 for OWASP 20th Anniversary Celebration</a> online conference! Hear from world renowned keynotes and special speakers, network with your peers and interact with our event sponsors. With an anticipated 10k+ attendees from around the world, you will not want to miss this live on-line event!",
    "OWASP Juice Shop Card (non-foil)": "OWASP Juice Shop Card (non-foil)",
    "Mythic rare <small><em>(obviously...)</em></small> card \"OWASP Juice Shop\" with three distinctly useful abilities. Alpha printing, mint condition. A true collectors piece to own!": "Mythic rare <small><em>(obviously...)</em></small> card \"OWASP Juice Shop\" with three distinctly useful abilities. Alpha printing, mint condition. A true collectors piece to own!",
    "Line {{vulnLine}} is responsible for this vulnerability or security flaw. Select it and submit to proceed.": "Line {{vulnLine}} is responsible for this vulnerability or security flaw. Select it and submit to proceed.",
    "Lines {{vulnLines}} are responsible for this vulnerability or security flaw. Select them and submit to proceed.": "Lines {{vulnLines}} are responsible for this vulnerability or security flaw. Select them and submit to proceed.",
    "Receive a coupon code from the support chatbot.": "Receive a coupon code from the support chatbot.",
    "Just keep asking.": "Just keep asking.",
    "Permanently disable the support chatbot so that it can no longer answer customer queries.": "Permanently disable the support chatbot so that it can no longer answer customer queries.",
    "Think of a way to get a hold of the internal workings on the chatbot API.": "Think of a way to get a hold of the internal workings on the chatbot API.",
    "Gain read access to an arbitrary local file on the web server.": "Gain read access to an arbitrary local file on the web server.",
    "You should read up on vulnerabilities in popular NodeJs template engines.": "You should read up on vulnerabilities in popular NodeJs template engines.",
    "Try to identify where (potentially malicious) user input is coming into the code.": "Try to identify where (potentially malicious) user input is coming into the code.",
    "What is the code doing with the user input other than using it to filter the data source?": "What is the code doing with the user input other than using it to filter the data source?",
    "Look for a line where the developers fiddled with Angular's built-in security model.": "Look for a line where the developers fiddled with Angular's built-in security model.",
    "Using bypassSecurityTrustStyle() instead of bypassSecurityTrustHtml() changes the context for which input sanitization is bypassed. If at all, this switch might only accidentally keep XSS prevention intact. The context where the parameter is used is not CSS, making this switch totally pointless.": "Using bypassSecurityTrustStyle() instead of bypassSecurityTrustHtml() changes the context for which input sanitization is bypassed. If at all, this switch might only accidentally keep XSS prevention intact. The context where the parameter is used is not CSS, making this switch totally pointless.",
    "Using bypassSecurityTrustResourceUrl() instead of bypassSecurityTrustHtml() changes the context for which input sanitization is bypassed. This switch might only accidentally keep XSS prevention intact, but the new URL context does not make any sense here.": "Using bypassSecurityTrustResourceUrl() instead of bypassSecurityTrustHtml() changes the context for which input sanitization is bypassed. This switch might only accidentally keep XSS prevention intact, but the new URL context does not make any sense here.",
    "Using bypassSecurityTrustScript() instead of bypassSecurityTrustHtml() changes the context for which input sanitization is bypassed. If at all, this switch might only accidentally keep XSS prevention intact. The context where the parameter is used is not a script either, so this switch would be nonsensical.": "Using bypassSecurityTrustScript() instead of bypassSecurityTrustHtml() changes the context for which input sanitization is bypassed. If at all, this switch might only accidentally keep XSS prevention intact. The context where the parameter is used is not a script either, so this switch would be nonsensical.",
    "Removing the bypass of sanitization entirely is the best way to fix this vulnerability. Fiddling with Angular's built-in sanitization was entirely unnecessary as the user input for a text search should not be expected to contain HTML that needs to be rendered but merely plain text.": "Removing the bypass of sanitization entirely is the best way to fix this vulnerability. Fiddling with Angular's built-in sanitization was entirely unnecessary as the user input for a text search should not be expected to contain HTML that needs to be rendered but merely plain text.",
    "Can you identify one or more routes which have something to do with log files?": "Can you identify one or more routes which have something to do with log files?",
    "Did you spot the directory listing clearly linked to log files?": "Did you spot the directory listing clearly linked to log files?",
    "Did you notice that there is a seperate route for retrieving individual log files?": "Did you notice that there is a seperate route for retrieving individual log files?",
    "Make sure to select both lines responsible for the log file data leakage.": "Make sure to select both lines responsible for the log file data leakage.",
    "Switching off the detailed view option is a cosmetic change on the directory listing but still allows the logs to be browsed and accessed.": "Switching off the detailed view option is a cosmetic change on the directory listing but still allows the logs to be browsed and accessed.",
    "Removing the route that serves individual log files is likely to plumb the data leak but still provides information to the attacker unnecessarily.": "Removing the route that serves individual log files is likely to plumb the data leak but still provides information to the attacker unnecessarily.",
    "Removing only the directory listing will still allow attackers to download individual log files if they can come up with a valid file name.": "Removing only the directory listing will still allow attackers to download individual log files if they can come up with a valid file name.",
    "There should generally be no good reason to expose server logs through a web URL of the server itself, epecially not when that server is Internet-facing.": "There should generally be no good reason to expose server logs through a web URL of the server itself, epecially not when that server is Internet-facing.",
    "Among the long list of route mappings, can you spot any that seem responsible for admin-related functionality?": "Among the long list of route mappings, can you spot any that seem responsible for admin-related functionality?",
    "Luckily the route mappings were originally in alphabetical order before the developers forgot about that rule at some point.": "Luckily the route mappings were originally in alphabetical order before the developers forgot about that rule at some point.",
    "Assuming that the original \"AdminGuard\" provided access control only to admin users, switching to \"LoginGuard\" seems like a downgrade that would give access to any authenticated user.": "Assuming that the original \"AdminGuard\" provided access control only to admin users, switching to \"LoginGuard\" seems like a downgrade that would give access to any authenticated user.",
    "Obfuscating the path to the administration section does not add any security, even if it wasn't just a trivial Base64 encoding.": "Obfuscating the path to the administration section does not add any security, even if it wasn't just a trivial Base64 encoding.",
    "This obfuscation attempt is hard to undo by hand but trivial when executed in a JavaScript console. Regardless, obfuscating the route does not add any level of security.": "This obfuscation attempt is hard to undo by hand but trivial when executed in a JavaScript console. Regardless, obfuscating the route does not add any level of security.",
    "While attempts could be made to limit access to administrative functions of a web shop through access control, it is definitely safer to apply the \"separation of concerns\" pattern more strictly by internally hosting a distinct admin backend application with no Internet exposure.": "While attempts could be made to limit access to administrative functions of a web shop through access control, it is definitely safer to apply the \"separation of concerns\" pattern more strictly by internally hosting a distinct admin backend application with no Internet exposure.",
    "Can you identify one or more routes which have something to do with file serving?": "Can you identify one or more routes which have something to do with file serving?",
    "Did you notice that there are seperate routes the directory listing and retrieving individual files?": "Did you notice that there are seperate routes the directory listing and retrieving individual files?",
    "Make sure to select both lines responsible for the data leakage.": "Make sure to select both lines responsible for the data leakage.",
    "Removing only the directory listing will still allow attackers to download individual files if they can come up with a valid file name.": "Removing only the directory listing will still allow attackers to download individual files if they can come up with a valid file name.",
    "Removing the routes that serve individual files is likely to plumb the data leak but still provides information to the attacker unnecessarily.": "Removing the routes that serve individual files is likely to plumb the data leak but still provides information to the attacker unnecessarily.",
    "Switching off the icons is a cosmetic change on the directory listing but still allows the files to be browsed and accessed.": "Switching off the icons is a cosmetic change on the directory listing but still allows the files to be browsed and accessed.",
    "Getting rid of the /ftp folder entirely is the only way to plumb this data leakage for good. Valid static content in it needs to be moved to a more suitable location and order confirmation PDFs had no business to be placed there publicly accessible in the first place. Everything else in that folder was just accidentally put & forgotten there anyway.": "Getting rid of the /ftp folder entirely is the only way to plumb this data leakage for good. Valid static content in it needs to be moved to a more suitable location and order confirmation PDFs had no business to be placed there publicly accessible in the first place. Everything else in that folder was just accidentally put & forgotten there anyway.",
    "In the long list of API-handling middleware, try to find the ones dealing with products offered in the shop first.": "In the long list of API-handling middleware, try to find the ones dealing with products offered in the shop first.",
    "API routes need to specifically define a handler for a HTTP verb if they wish to override the \"allow everything to everyone\" default behavior.": "API routes need to specifically define a handler for a HTTP verb if they wish to override the \"allow everything to everyone\" default behavior.",
    "There is one line that is commented out for no good reason among the product-related middleware.": "There is one line that is commented out for no good reason among the product-related middleware.",
    "While removing the commented-out line made the code cleaner, it did not change the functionality in any way and thus cannot have improved security either.": "While removing the commented-out line made the code cleaner, it did not change the functionality in any way and thus cannot have improved security either.",
    "Removing all dedicated handling of the products API made things worse, as now the default permissions of the underlying API generator will be used: Allowing GET, POST, PUT and DELETE - without any restrictions.": "Removing all dedicated handling of the products API made things worse, as now the default permissions of the underlying API generator will be used: Allowing GET, POST, PUT and DELETE - without any restrictions.",
    "You improved security slightly by no longer accepting PUT requests from anonymous API callers. But does the shop even want to allow its authenticated customers to change products themselves?": "You improved security slightly by no longer accepting PUT requests from anonymous API callers. But does the shop even want to allow its authenticated customers to change products themselves?",
    "Disabling all HTTP verbs other than GET for the products API is indeed the only safe way to implement secure access control. Shop administrators should not use the customer facing web UI to manage the store's inventory anyway.": "Disabling all HTTP verbs other than GET for the products API is indeed the only safe way to implement secure access control. Shop administrators should not use the customer facing web UI to manage the store's inventory anyway.",
    "Try to identify any variables in the code that might contain arbitrary user input.": "Try to identify any variables in the code that might contain arbitrary user input.",
    "Follow the user input through the function call and try to spot places where it might be abused for malicious purposes.": "Follow the user input through the function call and try to spot places where it might be abused for malicious purposes.",
    "Can you spot a place where a SQL query is being cobbled together in an unsafe way?": "Can you spot a place where a SQL query is being cobbled together in an unsafe way?",
    "Trying to prevent any injection attacks with a custom-built blocklist mechanism is doomed to fail. It might work for some simpler attack payloads but an attacker with time and skills can likely bypass it at some point.": "Trying to prevent any injection attacks with a custom-built blocklist mechanism is doomed to fail. It might work for some simpler attack payloads but an attacker with time and skills can likely bypass it at some point.",
    "Replacing the template string (`...`) notation with plain string concatenation (\"...\"+\"...\") does not change the behavior of the code in any way. It only makes the code less readable.": "Replacing the template string (`...`) notation with plain string concatenation (\"...\"+\"...\") does not change the behavior of the code in any way. It only makes the code less readable.",
    "Using the built-in replacement (or binding) mechanism of Sequelize is equivalent to creating a Prepared Statement. This prevents tampering with the query syntax through malicious user input as it is \"set in stone\" before the criteria parameter is inserted.": "Using the built-in replacement (or binding) mechanism of Sequelize is equivalent to creating a Prepared Statement. This prevents tampering with the query syntax through malicious user input as it is \"set in stone\" before the criteria parameter is inserted.",
    "Can you find a HTTP route mapping that deals with metrics?": "Can you find a HTTP route mapping that deals with metrics?",
    "Remember: The default behavior of route mappings is to allow access to everyone.": "Remember: The default behavior of route mappings is to allow access to everyone.",
    "The metrics route remains publicly accessible. This change only messes with functional settings of the measurement framework unnecessarily.": "The metrics route remains publicly accessible. This change only messes with functional settings of the measurement framework unnecessarily.",
    "This fix prevents unauthorized access to the metrics route but overshoots the goal by locking out everyone - including administrators.": "This fix prevents unauthorized access to the metrics route but overshoots the goal by locking out everyone - including administrators.",
    "Access will now be restricted only to users with administrator permissions, which seems reasonable protection, assuming that it is not possible for a regular user to escalate admin priviliges. If that were a risk, the metrics should better be stored behind the scenes not be made accessible via the shop application at all.": "Access will now be restricted only to users with administrator permissions, which seems reasonable protection, assuming that it is not possible for a regular user to escalate admin priviliges. If that were a risk, the metrics should better be stored behind the scenes not be made accessible via the shop application at all.",
    "Do you remember the security question that Bender used for his account?": "Do you remember the security question that Bender used for his account?",
    "This question is the source of the security risk in this challenge.": "This question is the source of the security risk in this challenge.",
    "While not necessarily as trivial to research via a user's LinkedIn profile, the question is still easy to research or brute force when answered truthfully.": "While not necessarily as trivial to research via a user's LinkedIn profile, the question is still easy to research or brute force when answered truthfully.",
    "Exchanging \"company\" with \"organization\" is only a vocabulary change and has no effect on security.": "Exchanging \"company\" with \"organization\" is only a vocabulary change and has no effect on security.",
    "When answered truthfully, all security questions are susceptible to online research (on Facebook, LinkedIn etc.) and often even brute force. If at all, they should not be used as the only factor for a security-relevant function.": "When answered truthfully, all security questions are susceptible to online research (on Facebook, LinkedIn etc.) and often even brute force. If at all, they should not be used as the only factor for a security-relevant function.",
    "Can you identify the lines which have something to do with crypto currency addresses?": "Can you identify the lines which have something to do with crypto currency addresses?",
    "Did you notice there is a constant containing allowed redirect web addresses?": "Did you notice there is a constant containing allowed redirect web addresses?",
    "Make sure to select all three lines responsible for crypto currency addresses which are not promoted any longer.": "Make sure to select all three lines responsible for crypto currency addresses which are not promoted any longer.",
    "This fix removes one deprecated crypto currency address from the allow list but forgets to deal with two other ones.": "This fix removes one deprecated crypto currency address from the allow list but forgets to deal with two other ones.",
    "When cleaning up any allow list of deprecated entries, it is crucial to be thorough and re-check the list regularly. Otherwise allow lists tend to become weaker over time.": "When cleaning up any allow list of deprecated entries, it is crucial to be thorough and re-check the list regularly. Otherwise allow lists tend to become weaker over time.",
    "This fix uses the binding mechanism of Sequelize to create the equivalent of a Prepared Statement, which is great. Unfortunately this fix also introduces a critical functional bug into the authentication process.": "This fix uses the binding mechanism of Sequelize to create the equivalent of a Prepared Statement, which is great. Unfortunately this fix also introduces a critical functional bug into the authentication process.",
    "This fix unfortunately goes only half the way to using the binding mechanism of Sequelize. Such a Prepared Statement still concatenated from user input, is still wide open for SQL Injection attacks.": "This fix unfortunately goes only half the way to using the binding mechanism of Sequelize. Such a Prepared Statement still concatenated from user input, is still wide open for SQL Injection attacks.",
    "This fix unfortunately goes only half the way to using the replacement mechanism of Sequelize. Such a Prepared Statement still concatenated from user input, is still wide open for SQL Injection attacks.": "This fix unfortunately goes only half the way to using the replacement mechanism of Sequelize. Such a Prepared Statement still concatenated from user input, is still wide open for SQL Injection attacks.",
    "Turning off the \"plain\" flag will let Sequelize return all matching rows instead of just the first one. This neither makes sense from a functional point of view in a login function, not could it prevent SQL Injection attacks.": "Turning off the \"plain\" flag will let Sequelize return all matching rows instead of just the first one. This neither makes sense from a functional point of view in a login function, not could it prevent SQL Injection attacks.",
    "Using the built-in binding (or replacement) mechanism of Sequelize is equivalent to creating a Prepared Statement. This prevents tampering with the query syntax through malicious user input as it is \"set in stone\" before the criteria parameter is inserted.": "Using the built-in binding (or replacement) mechanism of Sequelize is equivalent to creating a Prepared Statement. This prevents tampering with the query syntax through malicious user input as it is \"set in stone\" before the criteria parameter is inserted.",
    "Using bypassSecurityTrustSoundCloud() instead of bypassSecurityTrustHtml() supposedly bypasses sanitization to allow only content from that service provider. Not surprisingly, there is no such vendor-specific function bypassSecurityTrustSoundCloud() offered by the Angular DomSanitizer.": "Using bypassSecurityTrustSoundCloud() instead of bypassSecurityTrustHtml() supposedly bypasses sanitization to allow only content from that service provider. Not surprisingly, there is no such vendor-specific function bypassSecurityTrustSoundCloud() offered by the Angular DomSanitizer.",
    "Using bypassSecurityTrustIframe() instead of bypassSecurityTrustHtml() supposedly bypasses sanitization to allow only <iframe> tags. But, the Angular DomSanitizer does not offer tag-specific bypass functions.": "Using bypassSecurityTrustIframe() instead of bypassSecurityTrustHtml() supposedly bypasses sanitization to allow only <iframe> tags. But, the Angular DomSanitizer does not offer tag-specific bypass functions.",
    "Do you remember the security question that Jim used for his account?": "Do you remember the security question that Jim used for his account?",
    "Widening the scope from an \"eldest sibling\" to \"any family member\" still allows the question to be easily researched online (on Facebook etc.) or brute forced when answered truthfully.": "Widening the scope from an \"eldest sibling\" to \"any family member\" still allows the question to be easily researched online (on Facebook etc.) or brute forced when answered truthfully.",
    "Tightening the scope from an \"eldest sibling\" to \"eldest brother\" reduces any brute force effort to only male forenames, assuming the question is answered truthfully.": "Tightening the scope from an \"eldest sibling\" to \"eldest brother\" reduces any brute force effort to only male forenames, assuming the question is answered truthfully.",
    "Do you remember the security question that Bjoern used for his account?": "Do you remember the security question that Bjoern used for his account?",
    "Researching someone's current place of residence is probably even easier than a past one.": "Researching someone's current place of residence is probably even easier than a past one.",
    "When changing the scope of this question from \"teenager\" to \"toddler\", researching a past place of residence still is the only (low) hurdle for the attacker.": "When changing the scope of this question from \"teenager\" to \"toddler\", researching a past place of residence still is the only (low) hurdle for the attacker.",
    "Do you remember the security question that Bjoern used for his OWASP account?": "Do you remember the security question that Bjoern used for his OWASP account?",
    "There are even less car brands in the world than potential pet names. Therefore, changing the security questions has even a negative effect on overall security as it makes guessing and brute forcing much easier.": "There are even less car brands in the world than potential pet names. Therefore, changing the security questions has even a negative effect on overall security as it makes guessing and brute forcing much easier.",
    "This fix option is obviously (?) a joke. But it should still illustrate that narrowing the scope of a question reduces the solution space accordingly, thus making \"social stalking\" and brute force much easier.": "This fix option is obviously (?) a joke. But it should still illustrate that narrowing the scope of a question reduces the solution space accordingly, thus making \"social stalking\" and brute force much easier.",
    "Do you remember the security question that Uvogin used for his account?": "Do you remember the security question that Uvogin used for his account?",
    "When changing the scope of this question from \"movie\" to \"actor/actress\", researching and brute forcing is probably just as easy for the attacker.": "When changing the scope of this question from \"movie\" to \"actor/actress\", researching and brute forcing is probably just as easy for the attacker.",
    "Narrowing the scope of the question from \"movie\" to \"animé\" dramatically reduces the solution space, thus making guessing and brute force attacks a lot easier.": "Narrowing the scope of the question from \"movie\" to \"animé\" dramatically reduces the solution space, thus making guessing and brute force attacks a lot easier.",
    "Among the long list of route mappings, can you spot any that seem responsible for the Score Board screen?": "Among the long list of route mappings, can you spot any that seem responsible for the Score Board screen?",
    "If you accidentally scrolled over the relevant line, try using the text search in your browser.": "If you accidentally scrolled over the relevant line, try using the text search in your browser.",
    "Searching for \"score\" should bring you to the right route mapping.": "Searching for \"score\" should bring you to the right route mapping.",
    "Obfuscating the path to the Score Board does not add any security, even if it wasn't just a trivial Base64 encoding. It would, on the other hand, make finding it a bit more difficulty. This is probably not intended as the Score Board screen is the hub for all other challenges.": "Obfuscating the path to the Score Board does not add any security, even if it wasn't just a trivial Base64 encoding. It would, on the other hand, make finding it a bit more difficulty. This is probably not intended as the Score Board screen is the hub for all other challenges.",
    "Removing the entire route mapping would improve security but also break functionality by making the Score Board entirely inaccessible. Keep in mind that the Score Board is hidden only to be found and used to track all the other challenges.": "Removing the entire route mapping would improve security but also break functionality by making the Score Board entirely inaccessible. Keep in mind that the Score Board is hidden only to be found and used to track all the other challenges.",
    "In this one-of-a-kind scenario it is really best to just leave the code unchanged. Fiddling with it might either break accessibility of the crucial Score Board screen or make it unnecessarily harder to find it.": "In this one-of-a-kind scenario it is really best to just leave the code unchanged. Fiddling with it might either break accessibility of the crucial Score Board screen or make it unnecessarily harder to find it.",
    "Limiting the allowed search values via startsWith() would still allow SQL Injection via \"orange')) UNION SELECT ... --\" or similarly prefixed payloads. Even worse, this fix also breaks the free text search capability.": "Limiting the allowed search values via startsWith() would still allow SQL Injection via \"orange')) UNION SELECT ... --\" or similarly prefixed payloads. Even worse, this fix also breaks the free text search capability.",
    "Which entity is this challenge most likely about? Try to find all code places where that entity is somehow processed.": "Which entity is this challenge most likely about? Try to find all code places where that entity is somehow processed.",
    "In this snippet you must look for a place where something is missing that, if present, would negate an arbitrary role assignment.": "In this snippet you must look for a place where something is missing that, if present, would negate an arbitrary role assignment.",
    "Make sure that you do not select any lines that are contained in the vulnerable function but themselves have nothing to do with the vulberability.": "Make sure that you do not select any lines that are contained in the vulnerable function but themselves have nothing to do with the vulberability.",
    "This change results in the \"role\" property not being returned in any User-API responses. This will not prevent setting an arbitrary role during user creation but probably also break some functionality in the client that relies on the role being present.": "This change results in the \"role\" property not being returned in any User-API responses. This will not prevent setting an arbitrary role during user creation but probably also break some functionality in the client that relies on the role being present.",
    "This code change will check if a role is already defined on the user entity. If so, it will keep it. If not, it will set \"customer\" as a fallback role. This still allows anyone to pick their own prefered role, though.": "This code change will check if a role is already defined on the user entity. If so, it will keep it. If not, it will set \"customer\" as a fallback role. This still allows anyone to pick their own prefered role, though.",
    "Removing the interceptor function completely not only keeps the role assignment possible, it also breaks functionality by no longer creating digital wallets for new users.": "Removing the interceptor function completely not only keeps the role assignment possible, it also breaks functionality by no longer creating digital wallets for new users.",
    "This actually fixes the role assignment issue, by overriding any value pre-set via the POST request with a static \"customer\" default role.": "This actually fixes the role assignment issue, by overriding any value pre-set via the POST request with a static \"customer\" default role.",
    "Where is the Token Sale page actually being handled?": "Where is the Token Sale page actually being handled?",
    "What is weird about how the Token Sale route is being declared?": "What is weird about how the Token Sale route is being declared?",
    "If the Token Sale page is still considered a secret, why is it mapped to a route at all?": "If the Token Sale page is still considered a secret, why is it mapped to a route at all?",
    "Restricting access to the Token Sale page to administrators might sound good in theory. Unfortunately this all only happens in client-side code, so such check couldn't be fully trusted.": "Restricting access to the Token Sale page to administrators might sound good in theory. Unfortunately this all only happens in client-side code, so such check couldn't be fully trusted.",
    "Obfuscating the path to the Token Sale page with Base64 instead of the original obfuscation function does not add any security. It actually makes the route even more easily identifiable.": "Obfuscating the path to the Token Sale page with Base64 instead of the original obfuscation function does not add any security. It actually makes the route even more easily identifiable.",
    "The only viable way to prevent access to a soon-to-be-released Token Sale page is to not have it in the client-side code before its actual release. It then makes sense to not have any premature route mapping declarations either. This then makes the whole obfuscation code-madness unnecessary as well.": "The only viable way to prevent access to a soon-to-be-released Token Sale page is to not have it in the client-side code before its actual release. It then makes sense to not have any premature route mapping declarations either. This then makes the whole obfuscation code-madness unnecessary as well.",
    "You should take a close look at how this code checks for allowed vs. forbidded URLs to redirect to.": "You should take a close look at how this code checks for allowed vs. forbidded URLs to redirect to.",
    "Try to play through how the logical operators and used standard functions work in this situation.": "Try to play through how the logical operators and used standard functions work in this situation.",
    "Could you somehow make the code believe that it is dealing with an allow-listed URL while it actually isn't?": "Could you somehow make the code believe that it is dealing with an allow-listed URL while it actually isn't?",
    "The open redirect flaw in this code cannot be fixed by applying URL encoding to the target URL. In fact, it would break the entire redirect mechanism for allow-listed URLs as they are not URL-encoded and would therefore never match.": "The open redirect flaw in this code cannot be fixed by applying URL encoding to the target URL. In fact, it would break the entire redirect mechanism for allow-listed URLs as they are not URL-encoded and would therefore never match.",
    "Changing from logical \"or\" to logical \"and\" here does not do anything for security but entirely breaks the redirect mechanism as \"allowed\" can never be true after the loop.": "Changing from logical \"or\" to logical \"and\" here does not do anything for security but entirely breaks the redirect mechanism as \"allowed\" can never be true after the loop.",
    "HTML-escaping is completely wrong in this situation because the code is dealing with URLs and not HTML input.": "HTML-escaping is completely wrong in this situation because the code is dealing with URLs and not HTML input.",
    "Using indexOf allowed any URLs as long as they contained any allow-listed URL, even if it just would be as a parameter. Replacing this with an actual equality check mitigates this lapse and makes the redirect only work for allow-listed URLs.": "Using indexOf allowed any URLs as long as they contained any allow-listed URL, even if it just would be as a parameter. Replacing this with an actual equality check mitigates this lapse and makes the redirect only work for allow-listed URLs.",
    "The security flaw has something to do with the rate limiting configuration.": "The security flaw has something to do with the rate limiting configuration.",
    "Do you think the time window or number of requests is the actual problem here? Maybe there is something else going wrong...": "Do you think the time window or number of requests is the actual problem here? Maybe there is something else going wrong...",
    "Take a close look at the HTTP header being used here and ask yourself: \"Could an attacker do anything with it to bypass rate limiting?\"": "Take a close look at the HTTP header being used here and ask yourself: \"Could an attacker do anything with it to bypass rate limiting?\"",
    "Removing the setting to trust proxies does not improve security of the rate limiting. It might have some unforseen or unintended functional side-effects, though.": "Removing the setting to trust proxies does not improve security of the rate limiting. It might have some unforseen or unintended functional side-effects, though.",
    "Replacing the \"X-Forwarded-For\" header with its standardized alternative \"Forwarded\" does not close the security flaw of how this header is actually being used and can be abused by attackers.": "Replacing the \"X-Forwarded-For\" header with its standardized alternative \"Forwarded\" does not close the security flaw of how this header is actually being used and can be abused by attackers.",
    "Reducing the rate limit from 100 requests in 5min to 10 reqests in 3min could be seen as a security improvement, if there wasn't an entirely unrelated misconfiguration at play here.": "Reducing the rate limit from 100 requests in 5min to 10 reqests in 3min could be seen as a security improvement, if there wasn't an entirely unrelated misconfiguration at play here.",
    "Removing the custom key generator that lets an arbitrary HTTP header take precedence over the client IP is the best option here. Now an attacker at least needs to fake their actual IP to bypass the rate limiting, as this is the default key for the RateLimit module used here. There is a functional downside though, as now users behin e.g. corporate proxies might be rate limited as a group and not individually. But with 100 allowed password resets in 5min this should not occur too frequently.": "Removing the custom key generator that lets an arbitrary HTTP header take precedence over the client IP is the best option here. Now an attacker at least needs to fake their actual IP to bypass the rate limiting, as this is the default key for the RateLimit module used here. There is a functional downside though, as now users behin e.g. corporate proxies might be rate limited as a group and not individually. But with 100 allowed password resets in 5min this should not occur too frequently.",
    "Find all places in the code which are handling the product descriptions.": "Find all places in the code which are handling the product descriptions.",
    "Manually encoding the angular brackets of the HTML tags does not add any security. It is likely to break descriptions with legitimate HTML tags for styling or links, though.": "Manually encoding the angular brackets of the HTML tags does not add any security. It is likely to break descriptions with legitimate HTML tags for styling or links, though.",
    "The removed code block deals with handling of different screen sizes and is entirely unrelated to the given XSS vulnerability.": "The removed code block deals with handling of different screen sizes and is entirely unrelated to the given XSS vulnerability.",
    "Using bypassSecurityTrustScript() instead of bypassSecurityTrustHtml() changes the context for which input sanitization is bypassed. If at all, this switch might only accidentally keep XSS prevention intact.": "Using bypassSecurityTrustScript() instead of bypassSecurityTrustHtml() changes the context for which input sanitization is bypassed. If at all, this switch might only accidentally keep XSS prevention intact.",
    "Removing the bypass of sanitization entirely is the best way to fix the XSS vulnerability here. It should be noted, that XSS is only a consequence of broken authorization in this case, as users should not be allowed to change product descriptions in the first place.": "Removing the bypass of sanitization entirely is the best way to fix the XSS vulnerability here. It should be noted, that XSS is only a consequence of broken authorization in this case, as users should not be allowed to change product descriptions in the first place.",
    "To find the culprit lines, you need to understand how MongoDB handles updating records.": "To find the culprit lines, you need to understand how MongoDB handles updating records.",
    "Did you notice that the developers retrieved a reference to the user but never actually use it for anything? This might be part of the problem.": "Did you notice that the developers retrieved a reference to the user but never actually use it for anything? This might be part of the problem.",
    "Another problematic line you need to select, is actually missing something that ties the user to the review.": "Another problematic line you need to select, is actually missing something that ties the user to the review.",
    "This solution would reassign an updated review to the last editor, but it would not prevent to change other user's reviews in the first place.": "This solution would reassign an updated review to the last editor, but it would not prevent to change other user's reviews in the first place.",
    "Removing the option to update multiple documents at once is a good idea and might actually help against another flaw in this code. But it does not fix the problem of allowing users to update other user's reviews.": "Removing the option to update multiple documents at once is a good idea and might actually help against another flaw in this code. But it does not fix the problem of allowing users to update other user's reviews.",
    "Setting the author on server-side based on the user retrieved from the authentication token in the HTTP request is the right call. It prevents users from just passing any author email they like along with the request.": "Setting the author on server-side based on the user retrieved from the authentication token in the HTTP request is the right call. It prevents users from just passing any author email they like along with the request.",
    "Does this query really need to allow updating more than one review at once?": "Does this query really need to allow updating more than one review at once?",
    "Consider the query parameters under control of the attacker and try to find the one where they might inject some query-altering command.": "Consider the query parameters under control of the attacker and try to find the one where they might inject some query-altering command.",
    "Removing the option to update multiple documents at once combined with avoiding a \"not-equal\"-based injection is insufficient against any attacker with at least moderate MongoDB query knowledge.": "Removing the option to update multiple documents at once combined with avoiding a \"not-equal\"-based injection is insufficient against any attacker with at least moderate MongoDB query knowledge.",
    "Removing the option to update multiple documents at once is definitely necessary. But it is unfortunately not a sufficient fix, as an attacker might still be able to \"add back\" the multi-update behavior.": "Removing the option to update multiple documents at once is definitely necessary. But it is unfortunately not a sufficient fix, as an attacker might still be able to \"add back\" the multi-update behavior.",
    "Removing the option to update multiple documents at once combined with only allowing plain strings in the ID parameter is the right call. This will prevent any attacker from injecting their own JSON payload to manipulate the query in their favor.": "Removing the option to update multiple documents at once combined with only allowing plain strings in the ID parameter is the right call. This will prevent any attacker from injecting their own JSON payload to manipulate the query in their favor.",
    "Exact version of <a href=\"https://github.com/juice-shop/juice-shop/releases/tag/v9.3.1-PERMAFROST\">OWASP Juice Shop that was archived on 02/02/2020</a> by the GitHub Archive Program and ultimately went into the <a href=\"https://github.blog/2020-07-16-github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic\">Arctic Code Vault</a> on July 8. 2020 where it will be safely stored for at least 1000 years.": "Exact version of <a href=\"https://github.com/juice-shop/juice-shop/releases/tag/v9.3.1-PERMAFROST\">OWASP Juice Shop that was archived on 02/02/2020</a> by the GitHub Archive Program and ultimately went into the <a href=\"https://github.blog/2020-07-16-github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic\">Arctic Code Vault</a> on July 8. 2020 where it will be safely stored for at least 1000 years.",
    "Close multiple \"Challenge solved\"-notifications in one go.": "Close multiple \"Challenge solved\"-notifications in one go.",
    "Either check the official documentation or inspect a notification UI element directly.": "Either check the official documentation or inspect a notification UI element directly.",
    "Find a form which updates the username and then construct a malicious page in the online HTML editor. You probably need an older browser version for this.": "Find a form which updates the username and then construct a malicious page in the online HTML editor. You probably need an older browser version for this.",
    "Register a user with an empty email and password.": "Register a user with an empty email and password.",
    "Consider intercepting and playing with the request payload.": "Consider intercepting and playing with the request payload.",
    "Mint the Honey Pot NFT by gathering BEEs from the bee haven.": "Mint the Honey Pot NFT by gathering BEEs from the bee haven.",
    "Discover NFT wonders among the captivating visual memories.": "Discover NFT wonders among the captivating visual memories.",
    "Take over the wallet containing our official Soul Bound Token (NFT).": "Take over the wallet containing our official Soul Bound Token (NFT).",
    "Find the seed phrase posted accidentally.": "Find the seed phrase posted accidentally.",
    "Withdraw more ETH from the new wallet than you deposited.": "Withdraw more ETH from the new wallet than you deposited.",
    "Try to exploit the contract of the wallet.": "Try to exploit the contract of the wallet.",
    "Find an accidentally deployed code sandbox for writing smart contracts on the fly.": "Find an accidentally deployed code sandbox for writing smart contracts on the fly.",
    "It is just as easy as finding the Score Board.": "It is just as easy as finding the Score Board.",
    "He might have trumpeted it on at least one occasion where a camera was running. Maybe elsewhere as well.": "He might have trumpeted it on at least one occasion where a camera was running. Maybe elsewhere as well.",
    "Find the hidden <a href=\"https://en.wikipedia.org/wiki/Easter_egg_(media)\" target=\"_blank\">easter egg</a>.": "Find the hidden <a href=\"https://en.wikipedia.org/wiki/Easter_egg_(media)\" target=\"_blank\">easter egg</a>.",
    "Try either a) a knowledgeable brute force attack or b) reverse engineering or c) some research in the cloud.": "Try either a) a knowledgeable brute force attack or b) reverse engineering or c) some research in the cloud.",
    "Bypass a security control with a <a href=\"https://hakipedia.com/index.php/Poison_Null_Byte\">Poison Null Byte</a> to access a file not meant for your eyes.": "Bypass a security control with a <a href=\"https://hakipedia.com/index.php/Poison_Null_Byte\">Poison Null Byte</a> to access a file not meant for your eyes.",
    "Undoubtedly you want to read our security policy before conducting any research on our application.": "Undoubtedly you want to read our security policy before conducting any research on our application."
}