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

Jak mohu otestovat svůj příklad injekce PHP MySQL?

Jedním z nejběžnějších příkladů je tento dotaz:

' or '1'='1

Pokud toto zadáte jako uživatelské jméno a heslo do nějakého neupraveného přihlašovacího vstupu, dotaz se změní takto:

Original: SELECT * FROM USERS WHERE USER='' AND PASS='';
Modified: SELECT * FROM USERS WHERE USER='' or '1'='1' AND PASS='' or '1'='1';

To způsobí, že každá věc, kterou hledá, je pravdivá, protože 1 se vždy rovná 1. Problém s touto metodou je, že neumožňuje výběr konkrétního uživatele. Pokud tak učiníte, musíte jej přimět ignorovat příkaz AND tím, že jej okomentujete, jak je vidět v jiných příkladech.



  1. Přístupy ke shardování MySQL?

  2. Nelze se připojit:Ztratilo se připojení k serveru MySQL při „čtení počátečního komunikačního paketu“, systémová chyba:0

  3. Jak bezpečně a efektivně získáte ID řádku po vložení pomocí mysql pomocí MySQLdb v pythonu?

  4. Systémové databáze SQL Server – Obnovení systémových databází