Определено, SQL инжекцията е най-сериознатапроблем за сигурността на уеб приложенията, но мисля, че много блогове и уроци са подвеждащи, като преувеличават нереалистичните примери (или може би греша).
; DELETE FROM ...
Това е само теория, базирана на основите на SQL. Когато се използва в реалния свят PHP
например, mysql_query()
или mysqli->query()
ще изпълни само първата SQL заявка. Добавяне на нещо след това ;
ще доведе до грешка в синтаксиса.
Възможно ли е да направите действие на WRITE чрез SQL инжекция на a SELECT
търсене в PHP
?
UPDATE: Искам да изясня дали е възможно да се направивтора заявка в PHP. Не се обсъжда необходимостта от предотвратяване на инжектирането на SQL или как да се направи това. Крайното решение очевидно е подготвено.
Отговори:
1 за отговор № 1Ali, SQL Injection е обща концепция, не самосамо ако не е твърдо и бързо правило, че тези действия могат да бъдат изпълнени, не може да бъде, но да, хакерите дават вратичка на входа на схемата ви, която по някакъв начин е опасна, а не само промени, но е някой по някакъв начин може да види някоя от информацията, която може да бъде опасна.
1 за отговор № 2
Искам да изясня дали е възможно да се направи втора заявка в PHP.
При някои обстоятелства - Да.
Няма значение, защото инжекциите не се ограничават до добавянето на второ запитване.
този последен въпрос обаче противоречи на въпросното заглавие, което гласи
Не е преувеличено SQL инжекцията?
и отговорът определено е НЕ.
защото
Възможно ли е да направите действие от WRITE чрез SQL инжекция на заявка SELECT в PHP?
Без значение дали е възможно или не - заявката SELECT може да бъде не по-малко катастрофална от INSERT / UPDATE