Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę przetestować mój przykład wstrzykiwania PHP MySQL?

Jednym z najczęstszych przykładów jest to zapytanie:

' or '1'='1

Jeśli wpiszesz to jako nazwę użytkownika i hasło w jakimś nieoczyszczonym polu logowania, zapytanie zmieni się w następujący sposób:

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

Powoduje to, że każda rzecz, której szuka, jest prawdziwa, ponieważ 1 zawsze będzie równe 1. Problem z tą metodą polega na tym, że nie pozwala ona na wybór konkretnego użytkownika. Robiąc to, musisz sprawić, by ignorował instrukcję AND, komentując ją, jak widać w innych przykładach.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO z INSERT INTO poprzez przygotowane zestawienia

  2. Problem z typem danych Laravel 4.2 BIT

  3. Przycisk usuwania nie działa w CodeIgniter

  4. Ograniczenie klucza obcego MySQL 5.5 nie działa, gdy klucz obcy istnieje

  5. Instalacja i ładowanie bazy danych MySQL w skrypcie Inno Setup