Я работаю над сайтом, который был взломан через SQL Injection (на первый взгляд только записи db повреждены межсайтовыми скриптами) потенциальная уязвимость, которую я обнаружил после просмотра кода, заключается в том, что существует много вызовов mysql_query чьи входы не исчезают вообще.
Старый добрый:
$query = "SELECT * FROM mytable where name LIKE '%".$_GET['name']."%'"; /*HACK HERE*/
mysql_query($query, $connection);
Тем не менее я не могу найти, как мы можем сделать что-то классное из этой уязвимости инъекций (прохладно, я имею в виду что-то вроде INSERT или UPDATE). Я попытался создать такой оператор, как этот:
SELECT * FROM mytable where name LIKE '%' AND WHERE id IN (INSERT INTO secondtable (id,description) VALUES (15, 'Fifteenth description');--%'
Нет успеха. Думаю, что INSERT здесь нечего делать.
Я избегаю всех пользовательских входов в коде прямо сейчас, но я действительно не понимаю, как хакеры проникли на этот сайт, тогда я не уверен на 100%, что мое исправление выполнит эту работу. Любые блестящие предложения?
Спасибо