Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не могу составить SQL запрос для Penetration test  [new]
Sergunka
Member

Откуда: Bay Area, CA
Сообщений: 2282
В общем есть приложение на питоне где исполняется простой SQL запрос

database.execute("UPDATE users SET age={} WHERE username='{}';".format(age, username))


Есть огромное желание произвести вторжение через следующую комбинацию, если подставить через поле "age" следующее значение как это я (полный ламер в SQL) себе представляю


UPDATE users SET age=
( INSERT INTO users VALUES ("fake_user", "64762ccf8e701", "", 11); 
SELECT age from users WHERE username="terpila")
WHERE username="terpila"



В общем идея проста в поле SET попытаться протащить скрипт по созданию еще одно пользователя "fake_user".

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

P.S. User "terpila"- уже есть в базе.
P.S.S. Disclaimer: Весь код и вторжения выдуманные и никак не связаны с реальными событиями.
25 апр 19, 21:48    [21872074]     Ответить | Цитировать Сообщить модератору
 Re: Не могу составить SQL запрос для Penetration test  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31364
Sergunka
В общем идея проста в поле SET попытаться протащить скрипт по созданию еще одно пользователя "fake_user".

Походу этого нельзя сделать, но всеж интересно было спросить... мало ли чего.
А что тут сложного???
Если, конечно, age и/или username могут быть произвольными строками.
Например, если age присвоить строку
'age WHERE username = null insert users values(''fake_user'', ''64762ccf8e701'', '''', 11) UPDATE users SET age=age '

то выполнится:
UPDATE users 
SET age=age 
WHERE username = null 
insert users values('fake_user', '64762ccf8e701', '', 11) 
UPDATE users SET age=age WHERE username='terpila'
25 апр 19, 22:18    [21872085]     Ответить | Цитировать Сообщить модератору
 Re: Не могу составить SQL запрос для Penetration test  [new]
Sergunka
Member

Откуда: Bay Area, CA
Сообщений: 2282
alexeyvg,

Спасибо огромное. Идея хорошая... но пока дает ошибку.

Executing query UPDATE users SET age=age WHERE username = null insert users values(''fakeuser'', ''64762ccf8e701cf9a687c4b9eb4fa88d590a202ff538dcd7d8e9391f53f2df3e'', '''', 11) UPDATE users SET age=age WHERE username='terpila';
SQL Error Occurred: near "insert": syntax error
25 апр 19, 22:58    [21872101]     Ответить | Цитировать Сообщить модератору
 Re: Не могу составить SQL запрос для Penetration test  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31364
Sergunka
Спасибо огромное. Идея хорошая... но пока дает ошибку.
Так нужно просто вывести полученную строку, и её отладить.
Тем более, если у вас не MSSQL :-)
Может, я ещё зря одинарные кавычки удваивал, у вас же строка не в сиквеле, а в клиенте.
25 апр 19, 23:03    [21872102]     Ответить | Цитировать Сообщить модератору
 Re: Не могу составить SQL запрос для Penetration test  [new]
Sergunka
Member

Откуда: Bay Area, CA
Сообщений: 2282
alexeyvg
Sergunka
Спасибо огромное. Идея хорошая... но пока дает ошибку.
Так нужно просто вывести полученную строку, и её отладить.
Тем более, если у вас не MSSQL :-)
Может, я ещё зря одинарные кавычки удваивал, у вас же строка не в сиквеле, а в клиенте.


Да, сейчас гляну какой синтаксис для Питоновской базы в памяти... спасибо за совет.
25 апр 19, 23:16    [21872109]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить