SQL Server против MySQL - SQL Injection уязвимости в классический ASP

Недавно один из наших сайтов клиента жертвой SQL Инъекций нападения из-за сбоя, чтобы обезопасить query string параметры для страницы. Уязвимый код с тех пор были выявлены и исправлены, но он меня вопросом о некоторых различиях между тем, как MySQL и SQL Server процесс multi-строки запроса.

уязвимый код используется на нескольких десятках сайтов, два из которых выполняется на сервере SQL server, в то время как остальные находятся на MySQL. С этим кодом мы никогда прежде не подвергались атаке путем внедрения кода (по милости Божией), но как только мы выпустили два веб-сайта, на котором работает SQL server, (с тем же основание кода) на сайте было быстро воспользоваться. Способ закачки была довольно простой:

page.asp?param=1;delete from [some_table];

Как я уже сказал, уязвимый код является общей для многих веб-сайтах, но если я стараюсь выполнять один и тот же тип впрыска на нашем MySQL сайтов ASP бросает вверх хороший Ошибка Сервера, чтобы дать нам знать, что произошла ошибка в запросе:

SELECT * FROM Table1 WHERE ID = 1;DELETE FROM TABLE1;

Тестирования, это еще больше я был в состоянии проверить, что Драйвер MySQL ODBC 3.51 не позволит два SQL-запросы, должны исполняться в той же инструкции, если в качестве объекта ADODB.Connection вызывает метод Execute("/"), в то время как SQL Server Native Client (10.1) не имеют каких-либо проблем работает под управлением двух параллельных запросов. Это на самом деле просто конфигурации от поставщика, что делает SQL server уязвимыми в этой моде, в то время как MySQL не является, или это стволовых откуда-то еще?

Найдено 4 ответа:

SQL Server vs MySQL - SQL Injection Vulnerabilities in Classic ASP

http://stackoverflow.com/questions/1359973/sql-server-vs-mysql-sql-injection-vulnerabilities-in-classic-asp

Посмотреть решение →

Яндекс.Метрика