Всем привет! Решил опубликовать решение одного интересного таска, из категории Веб "Не Уцуцуга" , площадки codeby.games .
Первое что мы видим это уровень сложности "Сложно" интрига, но мы знаем что мы сильнее этих машин =)
Заходим на сайт и видим форму регистрации
Сразу появляются какие то вектора в голове, но мы должны изучить полностью сайт, видим кнопку Register, тапаем по ней и регаемся
Заходим по своим кредам и видим страничку
Скажу сразу вектор я знал и он здесь очевиден для бывалых. После появления это странички портфолио с инфой я уже знал куда копать.
SQL injection будем пробовать. Из моего опыта я понимаю что это Фрагментированная инъекция. И есть несколько вариантов раскрутки именно этой инъекции, а способов может быть еще больше, будет показан один из них.
Инфы мало во "всемирной помойке" про эту инъекцию, но найти можно.
Вся фишка в том, что при каждом запросе нужно менять свои регистрационные данные, как? далее я покажу это, пробуем
Вставляем вот такой запрос в наше поле Profession , а в конце Email ставим \ символ.
Далее для простоты я использования burp suite
Вот наш запрос когда мы перехватываем его, видим наши данные которые передаются на сервер,так же обратите внимание на сам запрос как он сконфигурирован. здесь burp кодирует символы, но смысл думаю понятен. При каждом таком запросе и получения инфы, мы меняем данные на регу.
Мы зарегались, заходим по тем кредам которые вы указали и видим. Ура мы получили название базы. Не сложно. (Данные я немного изменил так как было много запросов после).
Складывается такая картина в голове, что есть какие то креды по которым нужно авторизоваться, и получить наш заветный флаг.
Из того что мы имеем это username и password это все что нам нужно в данном случае.
Делаем запрос на получение таблицы, не забываем менять данные на регу:
, (select table_name from information_schema.tables wheretable_schema=database()))-- -
Успех мы получили название нашей нужной таблицы
Чтобы получить название колонок придется указывать название таблицы в HEX или в CHAR, так как название указывается в кавычках, а они у нас не проходят.
Но мы уже в принципе понимаем что нам нужны две колонки это usrname и password.
Далее я застрял, тем же способом я не смог вывести данные, да и было бы просто. Далее я попросил небольшой хинт, и понял что данные можно вывести другой техникой. Я знал про нее, называется она DIOS(Dump In One Shot). Почитайте про нее, она правда крутая, и своеобразная.
Пробуем
,(select (@a) from (select(@a:=0x00),(select (@a) from
(portfolio_db.contractors)where (@a)in (@a:=concat(@a,username,password,0x3c62723e))))a))-- -
Получаем. нужны данные я успешно затер. Разобраться я думаю не сложно будет =)
Теперь выдыхаем и спокойно заходим под этими кредами
Оказался очень интересный таск, при прохождении много запросов крашилось, да и сайт не принимает большой запрос, приходилось приспосабливаться. Потребовалось время на все это, было увлекательно. Кстати с помощью Dios можно выводить так же данные, но вывести разом базу, таблицу и все колонки не получилось. Сайт просто не принимает такой длинный запрос, если у кого получилось отпишите будет очень интересно. В принципе все, вот такая комбинация. Такого вида инъекции можно раскручивать так же при помощи всем известных инструментов. В данном случае мы крутим в ручную.
Под конец вылезло такое =) еще один вектор? хм ...
Надеюсь было познавательно. И спасибо за внимание.
Первое что мы видим это уровень сложности "Сложно" интрига, но мы знаем что мы сильнее этих машин =)
Заходим на сайт и видим форму регистрации
Сразу появляются какие то вектора в голове, но мы должны изучить полностью сайт, видим кнопку Register, тапаем по ней и регаемся
Заходим по своим кредам и видим страничку
Скажу сразу вектор я знал и он здесь очевиден для бывалых. После появления это странички портфолио с инфой я уже знал куда копать.
SQL injection будем пробовать. Из моего опыта я понимаю что это Фрагментированная инъекция. И есть несколько вариантов раскрутки именно этой инъекции, а способов может быть еще больше, будет показан один из них.
Инфы мало во "всемирной помойке" про эту инъекцию, но найти можно.
Вся фишка в том, что при каждом запросе нужно менять свои регистрационные данные, как? далее я покажу это, пробуем
Вставляем вот такой запрос в наше поле Profession , а в конце Email ставим \ символ.
Далее для простоты я использования burp suite
Вот наш запрос когда мы перехватываем его, видим наши данные которые передаются на сервер,так же обратите внимание на сам запрос как он сконфигурирован. здесь burp кодирует символы, но смысл думаю понятен. При каждом таком запросе и получения инфы, мы меняем данные на регу.
Мы зарегались, заходим по тем кредам которые вы указали и видим. Ура мы получили название базы. Не сложно. (Данные я немного изменил так как было много запросов после).
Складывается такая картина в голове, что есть какие то креды по которым нужно авторизоваться, и получить наш заветный флаг.
Из того что мы имеем это username и password это все что нам нужно в данном случае.
Делаем запрос на получение таблицы, не забываем менять данные на регу:
, (select table_name from information_schema.tables wheretable_schema=database()))-- -
Успех мы получили название нашей нужной таблицы
Чтобы получить название колонок придется указывать название таблицы в HEX или в CHAR, так как название указывается в кавычках, а они у нас не проходят.
Но мы уже в принципе понимаем что нам нужны две колонки это usrname и password.
Далее я застрял, тем же способом я не смог вывести данные, да и было бы просто. Далее я попросил небольшой хинт, и понял что данные можно вывести другой техникой. Я знал про нее, называется она DIOS(Dump In One Shot). Почитайте про нее, она правда крутая, и своеобразная.
Пробуем
,(select (@a) from (select(@a:=0x00),(select (@a) from
(portfolio_db.contractors)where (@a)in (@a:=concat(@a,username,password,0x3c62723e))))a))-- -
Получаем. нужны данные я успешно затер. Разобраться я думаю не сложно будет =)
Теперь выдыхаем и спокойно заходим под этими кредами
Оказался очень интересный таск, при прохождении много запросов крашилось, да и сайт не принимает большой запрос, приходилось приспосабливаться. Потребовалось время на все это, было увлекательно. Кстати с помощью Dios можно выводить так же данные, но вывести разом базу, таблицу и все колонки не получилось. Сайт просто не принимает такой длинный запрос, если у кого получилось отпишите будет очень интересно. В принципе все, вот такая комбинация. Такого вида инъекции можно раскручивать так же при помощи всем известных инструментов. В данном случае мы крутим в ручную.
Под конец вылезло такое =) еще один вектор? хм ...
Надеюсь было познавательно. И спасибо за внимание.
Вложения
Последнее редактирование: