SQL-инъекция: что это?

SQL-инъекция — это атака, направленная на веб-приложение, в ходе которой конструируется SQL-выражение из пользовательского ввода путем простой конкатенации

(например, $query="SELECT * FROM users WHERE id=".$_REQUEST["id"])

В случае успеха атакующий может изменить логику выполнения SQL-запроса так, как это ему нужно. Чаще всего он выполняет простой fingerprinting СУБД, а также извлекает таблицы с наиболее «интересными» именами (например «users»).

После этого, в зависимости от привилегий, с которыми запущено уязвимое приложение, он может обратиться к защищенным частям бэк-энда веб-приложения (например, прочитать файлы на стороне хоста или выполнить произвольные команды).

 

Обнаружение уязвимостей

Перейдем на страничку http://localhost.com/cat.php?id=27 и попробуем поиграть с параметром id, напишем вместо http://localhost.com/cat.php?id=27 такое выражене http://localhost.com/cat.php?id=27-1 и увиди что открылась другая страничка с описанием другого товара, то что нам и нужно.

И так мы узнали что  скрипт cat.php не фильтрует значение id передаваемые GET запросом,  выполнил арифметическое выражение  27-1 Это и есть SQL инъекция.

Если вы самостоятельно пытаетесь такм способом взломать иной сайт и на этом этапе у вас все получается, то поздравляю вы на верном пути.

 

Вообще на данный момент для поиска уязвимостей не нужно идти в Гугл или в другой поисковик а достаточно использовать специальный скрипт который найдет вам  сайты с sql уязвимостями а так же xss и другими. Как его использовать я расскажу в следующей статье, а пока вы можете почитать про SQLMAP!

Добавить комментарий