Извлечение SQL-запроса из веб-страницы независимо от языка сценариев - PullRequest
0 голосов
/ 15 сентября 2009

В настоящее время я делаю проект относительно внедрения SQL. Я делаю это таким образом, что он находит SQL-инъекцию независимой от сценариев на стороне сервера .. будь то jsp, asp или php Теперь главная проблема заключается в том, что мне нужно извлечь SQL-запрос с веб-страницы. То есть, когда я нажимаю кнопку «Отправить», например, запрос от веб-сервера к базе данных будет отправлен в виде оператора SQL. Так что моя проблема состоит в том, чтобы захватить этот оператор SQL

Есть предложения, как это сделать?

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 15 сентября 2009

Вы можете установить прокси между вашим веб-приложением и rdbms. Некоторые системы ( MySql, например ) поставляются с таким прокси.

1 голос
/ 15 сентября 2009

Вы не можете захватить серверный сценарий SQL, и любой веб-сайт, который генерирует SQL в Javascript, просто просит вас открыть сайт.

0 голосов
/ 15 сентября 2009

Некоторые СУБД имеют функцию записи выполненных SQL-запросов (например, SQL Server имеет SQL Server Profiler). Если ваша СУБД не имеет этой функции, вы можете перехватывать запросы SQL с некоторым прокси в сети (веб-приложение ----> ваш прокси ----> СУБД).

Вы должны соединить входные значения и записанные запросы.

Проблема с поиском SQL-запросов в коде очень сложна, и я думаю, что это невозможно. Запрос SQL не должен быть в виде простого текста или может создаваться динамически.

Например:

// this will produce SQL query
from p in db.Products where p.Size > 1000 && p.Count < 5 order by p.Name select p;

// this will not produce any SQL query
from c in ColumnsOf( db.Products ) where c.Contains( "Name" ) select c.Type;

// this will produce SQL query
var tmp = "SELECT ";
for(int i = 0; i < columns.Length; i++ ) {
    if ( i > 0 ) { tmp += ", "; }
    tmp += columns[i].Name;
}
tmp += "FROM " + someTextVariable;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...