sql >> Databáze >  >> RDS >> Mysql

Nalezeno 'OR 1=1/* sql injection v mé databázi newsletteru

'OR 1=1 je pokus o to, aby byl dotaz úspěšný bez ohledu na to, co
The /* je pokus o spuštění víceřádkového komentáře, takže zbytek dotazu je ignorován.

Příkladem může být

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

Jak můžete vidět, pokud byste vyplnili pole uživatelského jména bez escapování ' bez ohledu na to, jaké přihlašovací údaje uživatel předá v dotazu, vrátí všechna uživatelská jména v systému, která pravděpodobně udělují přístup útočníkovi (možná přístup správce, pokud je správcem váš první uživatel). Také si všimnete, že zbytek dotazu bude zakomentován kvůli /* včetně skutečného ' .

Skutečnost, že vidíte hodnotu ve své databázi, znamená, že byla escapována a konkrétní útok nebyl úspěšný. Měli byste však prozkoumat, zda nedošlo k dalším pokusům.



  1. ListArray Ukládání stejných záznamů

  2. Šifrování databáze:Proč a kde potřebujete šifrování dat

  3. Sledování synchronizace replik skupiny dostupnosti

  4. jak vložit aktuální datum do pole DATE ve formátu dd/mm/rrrr v oracle