Mysql
 sql >> Datenbank >  >> RDS >> Mysql

'OR 1=1/* SQL Injection' in meiner Newsletter-Datenbank gefunden

'OR 1=1 ist ein Versuch, eine Abfrage erfolgreich zu machen, egal was
Der /* ist ein Versuch, einen mehrzeiligen Kommentar zu beginnen, sodass der Rest der Abfrage ignoriert wird.

Ein Beispiel wäre

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

Wie Sie sehen können, würden Sie das Benutzernamenfeld ausfüllen, ohne den ' zu maskieren Unabhängig davon, welche Anmeldeinformationen der Benutzer in der Abfrage übergibt, würden alle Benutzer-IDs im System zurückgegeben, die dem Angreifer wahrscheinlich Zugriff gewähren (möglicherweise Administratorzugriff, wenn Administrator Ihr erster Benutzer ist). Sie werden auch feststellen, dass der Rest der Abfrage wegen /* auskommentiert wird einschließlich des echten ' .

Die Tatsache, dass Sie den Wert in Ihrer Datenbank sehen können, bedeutet, dass er entgangen ist und dieser bestimmte Angriff nicht erfolgreich war. Sie sollten jedoch untersuchen, ob andere Versuche unternommen wurden.