Comment trouver Web App yummy Jours de failles de sécurité? (Rpm)

En tant que développeur d'application Web financière, je suis particulièrement préoccupé par les questions de sécurité. Au cours des deux dernières années, j'ai participé à un certain nombre d'applications Web avant d'entrer dans le modèle de production, il subit des contrôles de sécurité complets et rigoureux pour assurer leur sécurité pleinement opérationnel après utilisation.

Dans cette expérience, j'ai aussi beaucoup appris sur la sécurité - telles que l'authentification, les demandes potentiellement dangereuses, injection, etc. - et comment concevoir des applications plus sûres.

La sécurité est ma passion, mais manger est mon autre passion. L'heure du déjeuner est un moment dans ma journée pour profiter au maximum. El Tenedor (en Espagne) / La Fourche est l'application la plus pratique de réservation de restaurant, qui contient beaucoup de remises, peut aider à me sauver beaucoup d'argent.

Dans cet article, je vais vous montrer comment j'ai trouvé Web App jours délicieux des vulnérabilités de sécurité et la façon de construire un simple client automatique, laissez-moi délicieux Jours prix promotionnels.

AVERTISSEMENT: Les opinions exprimées dans cet article sont point de vue de l'auteur, est pas le même point de vue de la fourche. J'ai été informé par e-mail La Fourche, ils ont pris des mesures appropriées pour remédier à ce problème. De plus, je cache aussi des informations sensibles telles que l'URL.

Remarque: Dans certaines parties du texte peut vous demander d'avoir des connaissances techniques pour comprendre.

Les jours délicieux

Pour ceux qui ne le connaissent pas, les jours délicieux est une promotion de la semaine, aussi longtemps que vous restez jeu quotidien cohérent, vous pouvez gagner jusqu'à 120 repas gratuits et ensemble Yums de prix, ces prix seront il est ajouté à votre compte et peut être remboursé de réduction (1000 facture Yums un restaurant équivalent à 10 de réduction).

Après le début des activités de promotion, vous pouvez voir une bannière de l'événement sur l'application Fork. Après l'ouverture est présentée comme suit:

Pour participer au jeu, vous devez fournir votre e-mail, pour obtenir la qualification de jeu, puis cliquez sur le bouton « PLAY ». Lorsque vous soumettez ce formulaire, vous devez cliquer sur le bouton pour déclencher l'animation et voir si vous gagnez un prix.

Vous pouvez jouer une fois par jour, le jeu continue 7 jours, pour gagner un prix.

Si vous êtes chanceux, vous serez retiré de la salade dans un Yum, ce qui signifie que vous obtenez un prix, vous recevrez un code qui peut être utilisé dans le prochain livre, Yums sera ajouté à votre compte. Au contraire, vous enlèverez la laitue pourpre (ou d'autres choses violet) de la salade, ce qui signifie que vous ne serez pas.

J'ai joué ce jeu trois ou quatre jours pour environ 300 Yums!

Réflexions sur la forme

Jours délicieux le dernier jour, j'ai demandé une adresse e-mail de formulaire est pris par inadvertance mon attention et de la pensée. page de promotion est ouverte à un certain navigateur intégré, je peux facilement voir l'URL est disponible (caché dans la figure ci-dessus).

J'étais curieux, alors j'ai ouvert une URL sur mon ordinateur, ce qui a permis au navigateur Google et son option outils de développement pour enregistrer toutes les requêtes dans mon dernier jeu Jours délicieux dans la promotion.

Malheureusement, je peux demander une analyse de journal pour comprendre ce qui se passe dans les jeux de jour. Est délivré à l'interface utilisateur semble requêtes du serveur API RESTful, donc je sauvé la demande et la réponse, je tente d'utiliser mon adresse e-mail à nouveau, je redirigés vers une page de conseils que j'ai joué le jeu.

Ensuite, je tente d'utiliser mon autre adresse e-mail à nouveau, au lieu d'enregistrer dans l'application de la fourche, et voir ce qui se passe, de façon surprenante, j'ai pu jouer à nouveau! Est-ce que cela signifie que l'API n'est pas enregistré la vérification de courrier électronique inséré dans l'application. Cela signifie que je peux utiliser un nombre illimité d'adresses e-mail au hasard de fois pour jouer le jeu, obtenir plus de prix, mais je ne peux pas le faire.

On pourrait penser que ce n'est pas un problème grave, car il nous oblige à remplir manuellement une adresse e-mail au hasard pour recevoir des conditions promotionnelles, enregistrer le code dans la situation et la chance de répéter à nouveau l'ensemble du processus. Bien que cela obtenir des prix, mais ce ne sera pas avoir beaucoup d'impact sur les résultats de la promotion, mais si j'automatiser ce processus et répété une fois dans chaque seconde?

exécution automatique

Il existe de nombreuses façons d'automatiser ce processus, mais mon préféré est le facteur. Postman est un client, il nous permet d'émettre une requête HTTP à l'API, et exécuter segment de code avant et après chaque demande.

Vous souvenez-vous avant de pouvoir utiliser toutes les demandes au cours du jeu Google Chrome Developer Tools records en elle? Maintenant, nous devons utiliser ces demandes. A cette fin, j'ai créé une collection (Obtenir les cookies, remplir le formulaire et Play) contient trois demandes.

La première demande Obtenir les cookies, il est l'URL HTTP GET demande à Yummy Dayspage. Dans l'onglet test, vous pouvez placer le morceau de code à exécuter après la demande, je mis en place deux variables d'environnement Postman, qui contient deux valeurs accessoires de réponse Cookie, situé en-tête Set-Cookie dans la demande est valable pour 15 minutes.

Dans la deuxième demande Formulaire de remplissage, je veux copier le formulaire est soumis, à savoir HTTP POST à une URL. J'ai créé une simple demande pour le code pré-script exécuté avant une demande d'une variable d'environnement pour définir une adresse e-mail générés aléatoirement.

Je l'utilise aussi pour générer cette e-mail définir un corps POST JSON, comme suit:

La première tentative de renvoyer le code d'état 500 (erreur interne du serveur), ce qui indique que la demande a des problèmes. Voir dans Google Chrome enregistre la demande, je serai deux paramètres des cookies avec d'autres précédemment stockés ensemble pour en-tête Cookie, le code de réponse de 200, c'est génial!

Enfin Jouer à la demande, je vais copier le déclencheur du comportement sur le bouton d'animation pour vérifier si vous gagnez un prix. C'est un simple GET à une URL, utilisez le même en-tête avant une demande.

J'ai ajouté un test pour vérifier si un prix a été gagné, il n'y a pas de prix ou essayer de filtrer les adresses e-mail en double. Si les prix dans la tentative, en réponse à la demande seront enregistrées dans la console Postman.

J'ai rassemblé trois exécutables demande afin de jouer à des jeux avec une adresse e-mail au hasard, donc je peux effectuer cette itération de la demande N fois exécutée.

Utilisez Collection Runner, j'ai couru 100 fois par match, mais n'a pas gagné, alors j'ai décidé d'essayer plus d'itérations peut être vu à travers un test Playrequest, et est consigné le JSON suivant à la console, les Dominicains ont gagné ce tableau prix!

{ "Id": 16490, "Code": "******", // Le code a été caché "Date_to_win": "10/06/201817:36:56", "Type": "300", // 300 prix Yums "Valeur": 5, "User_id": 217467, "Country_id": 1, "Created_at": null, "Updated_at": "10/06/201817:36:57" }

Avec cela, je l'ai prouvé que je peux obtenir automatiquement des prix promotionnels délicieux Days, qui semble reposer sur les résultats, et affectent sérieusement le temps et l'état (et peut être vu par date_to_win propriété country_id) promotion (updated_at avec seulement une différence d'un date_to_win secondes!).

Ange ou démon?

Imaginez une scène « méchante »:

Si je peux continuer à exécuter ces demandes au cours de la période promotionnelle ce qui se passera? Si j'exécuter les requêtes pour tous les pays ce qui se passera alors?

Tant que je suis prêt, je serai en mesure d'obtenir beaucoup de délicieux Days prix promotionnels.

, Je dois aussi savoir est de savoir si elle aura un grand nombre de demandes de la même adresse IP sont quelque peu limitées. Le diable est toujours avide, j'ai créé un script simple, utilisez le shell Newman dans une course de boucle infinie collection export Postman:

while true; faire newman run TheForkYummyDays.postman_collection.json; fini

J'EFFECTUER sans interruption pendant près de 45 minutes, mais n'a pas empêché le serveur. Pendant ce temps, je gagnais un total de 35 prix, 300 Yums, y compris 1000 et 2000 un Miams Yums.

L'ange a commencé à me rappeler de mon épaule droite, et m'a convaincu de me laisser arrêter, est maintenant le temps d'informer la fourche sur les vulnérabilités des informations. Je leur ai envoyé un e-mail contenant un code de réduction et les détails techniques, j'ai gagné des prix différents.

Quelques jours plus tard, je recevais une réponse à leur e-mail et me dire qu'ils doivent résoudre les problèmes signalés dans le secteur de la technologie, pour laquelle ils récompense mon 1000 Yums code promo à remercier!

atténuation des mesures

Que le serveur pour vérifier e-mail est enregistrée dans la fourche dans la

Cela devrait être la meilleure façon de résoudre ce problème, quel que soit les contrôles effectués sur l'interface utilisateur, doit toujours complète vérification de sécurité sur le côté serveur. Cela permettra à une adresse e-mail n'est pas inscrit à participer à des activités promotionnelles.

page promotionnelle dans les applications de fourche intégré

Si délicieux jours Page Promotion intégrée dans l'application Fork, plutôt que ouvert dans le navigateur intégré, il sera très difficult'd comme pour voir The Days délicieux de l'URL. Si vous souhaitez intégrer iframe, alors je suggère d'utiliser l'en-tête Options X-Frame, autorisés à intégrer cette URL de la page, ce qui empêche les attaques de Clickjacking.

Bloquer les demandes d'adresses IP dépassent la limite

Si l'adresse IP dans la même période précisée dans la demande dépasse un certain montant, il devrait être limité ou bloqué.

* Référence Source: hakin9, FB Xiao Bian secist compilé, reproduit à partir FreeBuf.COM

En entrant en Chine NS occasion de parler aux joueurs optimistes sur le pays ira bien
Précédent
tir classique « killer 13 » trailer remake à vendre en Novembre 2019!
Prochain
« La sagesse du Centre-Ouest Valley International Medical » basculement grande industrie de la santé « fusion » groupe de partenaires d'affaires Wuhou dans le quartier animé
Le vol d'informations est trop facile! Malicious le script AutoHotkey permet l'accès à distance
Île de Pâques pour aller en vacances cette terre « nombril » possession vraiment plein de mystère!
LinkedIn autres violations de données à grande échelle, mais refuse également de reconnaître
Maison ancienne à la recherche de sa fille pour échapper à la terreur domestique « Les gens du papier » à vapeur officiellement en vente
acte « Angel soeur » en tant que producteur pour la première fois, portant « et huit sept » à Pékin Film Festival
Choqué! « Sorcières » actrice de 16 ans drame réseau est décédé subitement! Il a nuage étoilé
« La plus grande leçon de l'origami au monde » record du monde est né à Hong Kong
« LOL » promo ton insolent nouvelle peau « vol Jour de l'Indépendance », l'effet est cool!
Grain pluie pluie Santé et beauté Valley, l'été approche
Un risque pour la sécurité des terminaux d'injection de commande à distance, je regarde comment tester (réimpression)
Linchuan: système « carte murale Hero » des valeurs de base Biographie