2016-11-15 9 views
1

Недавно я столкнулся с приложением Windows, которое имеет очень плохую практику наличия встроенных SQL-скриптов. Может ли он быть подвержен внедрению SQL?Может ли приложение Windows быть уязвимым для SQL-инъекции

если да, есть ли какие-либо инструменты для обнаружения уязвимости быстро?

ответ

4

Да, приложения для Windows также могут быть уязвимы для атак SQL-инъекций.
Проблема не в типе приложения, но встроенные скрипты sql также не являются проблемой.
Проблема заключается в том, что sql динамически создается из жестко закодированных строк и пользовательских строк ввода. На самом деле даже хранимые процедуры могут быть уязвимы для атак SQL-инъекций.

Возьмем, к примеру эта простая процедура:

CREATE PROCEDURE sp_sqlInj 
(
    @UserInput varchar(300) 
) 
AS 

    DECLARE @Sql varchar(max) 
    SET @Sql = 'SELECT * FROM Table WHERE x = '+ @UserInput 
    EXEC(@Sql) 
GO 

Как вы можете себе представить, эта процедура широко открыты для атак с внедрением SQL.

1

Любое приложение, включая настольное приложение для Windows, может быть введено SQL. Проблема заключается в том, как пользовательский ввод обрабатывается в SQL-запросе/proc, а не в типе приложения.

Если вы можете напрямую обращаться к базе данных, лучше всего использовать инструмент мониторинга базы данных, такой как SQL Server Profiler. Вы можете попробовать «тест на проникновение», по существу, используя SQL-инъекцию вашего приложения и наблюдая полученный запрос в Profiler, а также результаты в базе данных.

 Смежные вопросы

  • Нет связанных вопросов^_^