• XSS.stack #1 – первый литературный журнал от юзеров форума

Обновить данные в бд через SQL инъекцию

CheckerChin

(L2) cache
Забанен
Регистрация
05.11.2018
Сообщения
485
Решения
3
Реакции
255
Гарант сделки
1
Пожалуйста, обратите внимание, что пользователь заблокирован
Всех приветствую. Нашел сайт с sql инъекцией и пытаюсь обновить информацию в базе данных.
Запускаю sqlmap так:

sqlmap --tor -u "www.site.org/script.php?id=1" --sql-query="UPDATE members SET colname='1337' WHERE id=27"
sqlmap выдает такое предупреждение:
[WARNING] execution of non-query SQL statements is only available when stacked queries are supported

Погуглив нашел такой ответ:

Код:
Most databases do not allow you to just insert data using SQL Injection (Unless of course you are already in an insert query and even then you usually can't control the table name). You can't simply stack queries, that is only allowed in Microsoft SQL Server, PostgreSQL and comic books. You can use a sub-select or union select to access data from another table, and SQLMap is doing this behind the scenes.

SQLMap's real strength is in data exfiltration. If you want something more complex, like a multi-staged attack that gives you a shell, then you need to write an exploit. Take off the training wheels and be man (or woman).

Получается имея sql инъекцию в запросе, в котором не используется update/insert, изменение данных в таблице невозможно?
Или есть какие-то пути решения моей проблемы?

 
Чтобы добавить что-то в бд, например, залить шелл или обновить данные, тебе надо выполнить от 2-х запросов.
Например, в приложении выполняется запрос "SELECT username,password FROM users WHERE username = <user> and password = <pass>;".
Ты вместо <user> инжектишь свой пэйлоад: "admin; UPDATE users SET password = 'h3ck3d' WHERE username = 'admin';--".
В результате на серваке должен выполниться запрос "SELECT username,password FROM users WHERE username = admin; UPDATE users SET password = 'h3ck3d' WHERE username = 'admin';-- ", но многие фреймворки не позволяют выполнение нескольких запросов (это как раз и есть stacked queries) из-за этого и падает ошибка. Сделать с этим ничего невозможно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Всех приветствую. Нашел сайт с sql инъекцией и пытаюсь обновить информацию в базе данных.
Запускаю sqlmap так:

sqlmap --tor -u "www.site.org/script.php?id=1" --sql-query="UPDATE members SET colname='1337' WHERE id=27"
sqlmap выдает такое предупреждение:
[WARNING] execution of non-query SQL statements is only available when stacked queries are supported

Погуглив нашел такой ответ:

Код:
Most databases do not allow you to just insert data using SQL Injection (Unless of course you are already in an insert query and even then you usually can't control the table name). You can't simply stack queries, that is only allowed in Microsoft SQL Server, PostgreSQL and comic books. You can use a sub-select or union select to access data from another table, and SQLMap is doing this behind the scenes.

SQLMap's real strength is in data exfiltration. If you want something more complex, like a multi-staged attack that gives you a shell, then you need to write an exploit. Take off the training wheels and be man (or woman).

Получается имея sql инъекцию в запросе, в котором не используется update/insert, изменение данных в таблице невозможно?
Или есть какие-то пути решения моей проблемы?
--technique=S
Если не найдёт скулю - ничего не поделать.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх