Bug Bounty ~ SQL Injectie

Vandaag wou ik een kort artikel schrijven over een kwetsbaarheid die ik heb gevonden tijdens het bug bounty, ik kan helaas geen namen noemen omdat de kwetsbaarheid nog niet opgelost is. Dus ik zal gebruik maken van een fictief bedrijfsnaam, in dit geval ‘example.com’.

Op een middag was ik bezig met beetje rondkijken voor bug bounty tot ik bij het bedrijf ‘example.com’ terecht kwam, op de website was een wachtwoord reset functie geïmplementeerd. Bij het invoeren van bijvoorbeeld ‘admin’ of ‘backup’ kreeg ik een melding:

Gebruiker ‘admin’ komt niet voor in ons systeem

Bij het zien van zo soort bericht denk ik gelijk al aan een database die op de achterkant draait, de webapplicatie controleert de gebruikersnaam met de inhoud van de database. Dus in andere woorden, er wordt gekeken of de gebruiker voorkomt in de dataset.

Na het zien van de melding ging ik een beetje trial en error uitvoeren met SQL-injecties, na enige tijd had ik een werkende SQL-injectie gevonden (zie afbeelding hieronder), echter was duidelijk vermeld in de scope dat ik geen exploitatie mocht doen dus ik hield het bij een sleep en niet verder. De exacte query was als volgt: ‘+WAITFOR+DELAY+’00:00:30’–+-

Request 1

Bovenstaande afbeelding laat zien dat bij een time delay van 10 seconden de response er ook 10 seconden over duurt om een antwoord te sturen, de afbeelding hieronder laat zien bij een time delay van 30 seconden het ook 30 seconden duurt voordat de server een antwoord terugstuurt.

Dit duidt op SQL-Injectie, de bug was geaccepteerd en goedgekeurd. Dit was mijn artikel voor deze week, was een korte maar wel een krachtige.

De afbeeldingen zijn inderdaad niet heel erg scherp, kwam ik iets te laat achter. Gaat er vooral om dat rechtsonder de tijd van de response langer is.

Hopelijk tot de volgende keer en bedankt voor het lezen!

Please share and spread
NederlandsEnglish