sql >> Database >  >> RDS >> Mysql

Gevonden 'OF 1=1/* sql-injectie in mijn nieuwsbriefdatabase

'OR 1=1 is een poging om een ​​zoekopdracht te laten slagen, wat er ook gebeurt
De /* is een poging om een ​​commentaar met meerdere regels te starten, zodat de rest van de zoekopdracht wordt genegeerd.

Een voorbeeld zou zijn

SELECT userid 
FROM users 
WHERE username = ''OR 1=1/*' 
    AND password = ''
    AND domain = ''

Zoals u kunt zien als u het veld gebruikersnaam zou invullen zonder de ' het maakt niet uit welke inloggegevens de gebruiker in de query doorgeeft, alle gebruikers-ID's in het systeem zullen waarschijnlijk toegang verlenen aan de aanvaller (mogelijk beheerderstoegang als beheerder uw eerste gebruiker is). U zult ook merken dat de rest van de zoekopdracht niet wordt becommentarieerd vanwege de /* inclusief de echte ' .

Het feit dat u de waarde in uw database kunt zien, betekent dat deze is ontsnapt en dat die specifieke aanval niet is geslaagd. U moet echter onderzoeken of er andere pogingen zijn gedaan.



  1. Uitdagingsoplossingen voor generatorreeksen - deel 1

  2. Aantal andere rijen in tabel met dezelfde waarde

  3. SQL - WHERE-component met JOIN

  4. Schrijf snel panda's dataframe naar postgres