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

Итак, как всем известно, из-за COVID-19 мы все на карантине, что может показаться раздражающим для большинства людей, но что насчет нас, хакеров?

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

В последние дни все было хорошо, тел. 31.02.2020, мне было холодно и бессильно, как будто с моим телом что-то не так, я не скрываю, что боялся заразиться коронавирусом, но слава Богу, я Я не заражен, это просто психическая ситуация, которая может случиться со всеми нами.

Чтобы обойти этот период и забыть эти плохие чувства, я решила заняться делом, которое делает меня счастливым, и у меня есть одна большая вещь, которую я люблю больше, чем свою кошку.
Это Хааааак!

Итак, давайте взломать!

Я выбрал цель, которую уже закладывал раньше, в 2017 году, она касалась SQL-инъекции, и после моего отчета она была исправлена, и я не пытался проверить, смогу ли я воспроизвести ее снова.

Итак, сегодня, спустя 2 года, я решил проверить, смогу ли я снова установить эту цель, и вот шаги, которые я сделал:
1) Проверка старой ошибки SQLI, если она все еще существует = «К сожалению, нет, все параметры безопасны ».
2) ищу панель входа в систему и проверяю, могу ли я обойти аутентификацию =« К сожалению, ничего не работает ».
3) немного разведать и найти что-то новое, чего я не пробовал в 2017 году.

Итак, после некоторых исследований я нашел место, где посетители могут зарегистрироваться.

Я попытался создать учетную запись, а затем войти в нее, но, к сожалению, в нашем случае этого не произошло, потому что для этого требуется проверка со стороны администратора.

Так что действие, конечно же, не может остановиться на этом, у меня возник вопрос:
В случае проверки, где панель входа отвечает за вход в систему?
Ответ пришел так быстро, просто с помощью этого простого придурка в поиске Google: «Вход на www.target.com»

Первое, что можно попробовать в такой ситуации, - это попробовать случайные строки «Admin / Admin || Админ / Пароль || Admin / 123456… »
Но XD конечно ничего не работает.

А теперь пора попробовать SQLI:

Я включил свой Burp и отправил запрос на ретранслятор, я попытался вставить (‘) в пользовательский ввод, и я получил это!

Я ожидал ошибки SQL или, по крайней мере, чего-то читабельного, но, черт возьми?
Я решил поверить в то, что здесь есть проблема «makayn ma walakin xD»
Итак, на данный момент у меня нет ошибки SQL, которая может помогите мне создать полезную нагрузку, которая позволит мне обойти это, я решил использовать полезную нагрузку, которая работала со мной более чем в 60% моих поисков:
Это полезная нагрузка: admin 'ИЛИ 1 = 1- -'

И да, это снова сработало, и моя интуиция подтвердилась!

В основном мы находимся внутри панели управления, но мы всего лишь простой пользователь, и с первого вздоха я могу сказать, что здесь нет ничего, что можно было бы использовать, например, для получения RCE.
Но прежде чем подтвердить это, давайте проверим все доступные функции!
Первый вариант, который я нашел:

Похоже на корзину запросов, которые пользователи требуют от администратора для проверки, или что-то в этом роде.
Более интересная вещь заключается в том, что мы можем добавить новый запрос и, возможно, есть возможность загрузить файл PHP на сервер оттуда.

Я попытался сделать новый запрос, добавив некоторую полезную нагрузку XSS, но когда я нажал кнопку добавления, у меня возникла проблема с вводом сеанса, потому что он пуст и в списке нет выбора для проверки, поэтому я решил сделать простой трюк, заполнив это из инспектора элементов!

Итак, теперь давайте снова попробуем кнопку Добавить:

Эта ошибка возникла, и в ней говорится, что мы не можем добавить более 1 запроса в течение одного года, поэтому у нас есть 1 запрос в год!
Это так разочаровывает, и, конечно же, я не буду ждать целый год, чтобы pwn этой глупости приложение, так что давайте обойдем это дерьмо.

Чтобы обойти эту ошибку, я должен понять, как работает это приложение, поэтому я дал себе некоторое время, чтобы понять все параметры, в конце я понял, что эта ошибка возникает из-за того, что мы пытаемся добавить запрос с параметром year == ' 2020 год, который уже использовался старым запросом, уже добавленным ранее, так что, если мы добавим 2016 или 2021 год или дату, которая никогда не использовалась?

И угадайте, а что!

После обхода этих ошибок мы получили своего рода точки загрузки файлов, но с некоторыми ограничениями, разрешающими только формат (WORD, EXEL, PDF, JPG или PNG).

Я начал с загрузки простого файла JPG, чтобы посмотреть, будет ли он работать, и да, он сработал, затем я попробовал .PHP и, конечно же, получил это.

Итак, теперь пришло время обойти это, есть много способов обойти это, но это зависит от того, как построено приложение, в моем случае разработчик использовал белый список строк, которые будут искать, если они существуют, в имени наших файлов. при попытке загрузки, а это так легко обойти, мы можем просто назвать файл script.php.jpg, затем загрузить его и перехватить запрос с помощью прокси, затем переименовать его в script.php и бум!

До этого момента все в порядке, поэтому давайте откроем только что загруженный PHP-скрипт.

К сожалению, после перехода на www.target/uploads/script.php мы были автоматически перенаправлены на домашнюю страницу цели, я пробовал много уловок, но безрезультатно.

Итак, это конец нашей истории?
Если вы сказали «да» в такой момент, вы уже не сможете называть себя хакером.

Итак, после множества попыток обойти перенаправление, я потерпел неудачу!
Я начал думать, есть ли другой способ, которым я могу воспользоваться…
внезапно я заметил, что URL-адрес моей текущей страницы выглядит следующим образом: < br /> «https://www.target/content/recapitulation.php?id=612 секс

Конечно, здесь можно попробовать SQL-инъекцию, и после использования знаменитого (‘) я получил ошибку SQL!

И это результат SQLMAP после его использования!

Кстати, для людей, которые спрашивают, как использовать инструменты автоматизации для эксплуатации SQLI, даже если наша уязвимая цель находится внутри панели управления, требующей аутентификации, я отвечу этой командой:

Sqlmap -u « https://target.com/vulnerable/sqli/?id=1 '- cookie вы сеанс cookie - dbs

Уроки, которые следует извлечь из этой статьи
1) Всегда старайтесь понять каждый параметр и каждую часть вашей цели.
2) Поиграйте с приложением и извлеките значения каждого ребенка. и полезные нагрузки, и проверьте результат.
3) Никогда не теряйте надежды и делайте то, что вам нравится, чтобы забыть о своей боли.