Webapplicatie-ontwikkelaars vertrouwen er vaak op dat de meeste gebruikers de regels zullen volgen en een applicatie zullen gebruiken zoals die bedoeld is om te gebruiken, maar hoe zit het wanneer de gebruiker (of een hacker) de regels buigt? Wat als een gebruiker de fraaie webinterface overslaat en begint te rommelen onder de motorkap zonder de beperkingen opgelegd door de browser?
Hoe zit het met Firefox?
Firefox is de browser van keuze voor de meeste hackers vanwege het plug-in vriendelijke ontwerp. Een van de meer populaire hacker-tools voor Firefox is een add-on met de naam Tamper Data. Tamper Data is geen super gecompliceerde tool, het is slechts een proxy die zich invoegt tussen de gebruiker en de website of webapplicatie die ze doorzoeken.
Tamper Data laat een hacker toe om het gordijn open te vegen om te bekijken en te puinhoopen met alle HTTP "magie" die achter de schermen plaatsvindt. Al die GET's en POST's kunnen worden gemanipuleerd zonder de beperkingen opgelegd door de gebruikersinterface in de browser.
Wat is er te vinden?
Dus waarom houden hackers zo veel van Tamper Data en waarom zouden ontwikkelaars van webtoepassingen hierom moeten geven? De belangrijkste reden is dat het een persoon toestaat om te knoeien met de gegevens die heen en weer worden verzonden tussen de client en de server (vandaar de naam Tamper Data). Wanneer Sabotage gegevens worden gestart en een webapp of website wordt gestart in Firefox, toont Sabotage Data alle velden die gebruikersinvoer of manipulatie toestaan. Een hacker kan dan een veld veranderen in een "alternatieve waarde" en de gegevens naar de server sturen om te zien hoe het reageert.
Waarom dit gevaarlijk kan zijn voor een toepassing
Stel dat een hacker een online shoppingsite bezoekt en een item toevoegt aan zijn virtuele winkelwagentje. De ontwikkelaar van de webtoepassing die de winkelwagen heeft gebouwd, heeft de winkelwagen mogelijk gecodeerd om een waarde van de gebruiker te accepteren, zoals Quantity = "1" en beperkte het gebruikersinterface-element tot een vervolgkeuzelijst met vooraf bepaalde selecties voor de hoeveelheid.
Een hacker zou kunnen proberen om Sabotagedata te gebruiken om de beperkingen van de vervolgkeuzelijst te omzeilen die gebruikers alleen toestaan om te kiezen uit een set waarden zoals 1, 2, 3, 4 en 5. Met behulp van tamper-gegevens kan de hacker proberen om een andere waarde in te voeren van bijvoorbeeld "-1" of misschien ".000001".
Als de ontwikkelaar zijn invoervalidatieroutine niet correct heeft gecodeerd, kan deze waarde "-1" of ".000001" mogelijk worden doorgegeven aan de formule die wordt gebruikt om de kosten van het artikel te berekenen (bijvoorbeeld Prijs x hoeveelheid). Dit kan tot onverwachte resultaten leiden, afhankelijk van de mate waarin foutcontrole plaatsvindt en hoeveel vertrouwen de ontwikkelaar heeft in de gegevens die van de client komen. Als het winkelwagentje slecht gecodeerd is, kan de hacker mogelijk een onbedoelde enorme korting krijgen, een terugbetaling voor een product dat ze niet eens hebben gekocht, een tegoed in de winkel of wie weet wat nog meer.
De mogelijkheden om misbruik te maken van een webapplicatie met Tamper Data zijn eindeloos. Als ik een softwareontwikkelaar was, zou ik alleen weten dat er tools als Sabotage-gegevens zijn die me 's nachts wakker houden.
Aan de andere kant is Tamper Data een uitstekende tool voor security-bewuste applicatie-ontwikkelaars om te gebruiken, zodat ze kunnen zien hoe hun applicaties reageren op client-side data-manipulatie-aanvallen.
Ontwikkelaars maken vaak "Use Cases" om zich te concentreren op hoe een gebruiker de software zou gebruiken om een doel te bereiken. Helaas negeren ze vaak de slechte factor. App-ontwikkelaars moeten hun bad guy-hoed op doen en 'Misbruik-cases' maken om rekening te houden met hackers die tools gebruiken zoals Tamper Data.
Tamper-gegevens moeten deel uitmaken van hun beveiligingstestarsenaal om ervoor te zorgen dat invoer aan de client wordt gevalideerd en geverifieerd voordat het transacties en server-side-processen kan beïnvloeden. Als ontwikkelaars geen actieve rol spelen bij het gebruiken van tools zoals Tamper Data om te zien hoe hun applicaties reageren op een aanval, dan weten ze niet wat ze kunnen verwachten en kunnen ze uiteindelijk de rekening betalen voor 60 "plasma-tv die de hacker zojuist heeft gekocht voor 99 cent met hun defecte winkelwagen.




