Пожалуйста, обратите внимание, что пользователь заблокирован
Моя первая статья в принципе в области Инфобеза, сам только начинаю этот путь и хочу объяснить тему новичкам языком новичка. Просьба не засерать статью сообщениями по типу "да чему ты, скрипткидик можешь нас научить", так как писал я статью не один день, возможно будут не точности, я их буду стараться редактировать. Суть- объяснить так, что бы новичкам было понятно.
Приятного прочтения
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Практика:
2)Вставляем IP в браузер и смотрим что нам выдает:
1)Та полезная нагрузка из задания:
Что мы видим? Мы видим код JS, который при отсутствия каких либо фильтраций спокойно показывает нам url адрес страницы
1)
2)
Из задания мы видим, что нам нужны куки, так как там флаг, а поскольку мы с вами не Кевины Митники, то обращаемся в гугл и ищем скрипты связанные с куки
Из интернета я нашел след. скрипт:
Ну и естественно вводим это в поле ввода. Результат:
Мои поздравления, мы с вами решили первую лабу на сохраненную XSS. Среди реальных гигачатов-хакеров это жир, подарок с небес, ведь внедрив пару строк js они реально могут делать конкретную грязь. Для более подробной эксплуатации такой уязвимости можно почитать в гугле.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Давайте сразу к таску:
переходим по айпишнику:
Казалось бы, такая же ху*ня, тот же to-do list и как вообще возможно искать другой вид xss, но не торопитесь мои юные коллеги, все по порядку. Давайте мы введем в форму "test" и глянем что будет.
А теперь все внимание на url-ку. Если сравнивать результат после ввода в форму, то обратим наше чудное внимание на их разницу: все одинаково. но в этой лабе добавляется ?task=test. Когда я это проходил, то не сразу заметил разницу в url, а когда заметил, не зная основ веб приложений и устройства веб страниц вспомнил этого дядьку
В итоге вводим тот же скрпит, что и в первой лабе
Следующий вопрос который у вас возникнет: почему вводя один и тот же скрипт, мы получаем разные виды XSS. Все просто: пейлоуд из первой лабы на сохраненную XSS сохраняется на серваке, никому ничего не нужно отправлять, он срабатывает уже при заходе пользователя на домен.
А вот со второй лабой на отраженный XSS интереснее. Пейлоуд заключен в URL адресе, он срабатывает только тогда, когда пользователь будет переходить по ссылке. Давайте просто возьмем и посетим url который получился во второй лабе, дабы проверить себя.
Заметим что браузер автоматически закодировал наш пейлоуд, делается это по большей части для:
Если я нажму enter, страница выведет мне следующее:
Флаг получен, переходим дальше:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Перейдем сразу к таску:
Из определения HTB нам сказано, что при DOM XSS все обрабатывается на клиентской части, давайте перейдем опять по IP-шнику и что-нибудь введем:
Опять этот ебуч*й todo, ну ладно.
Тестовый запрос и под капот:
Что мы видим? Наш запрос обрабатывается, в теге ul виден наш текст. Еще видим, что в url появилась # для добавленного нами элемента, что означает, что это клиентский параметр, проще говоря после решетки сервак ничего не обрабатывает. (в данном примере его нету, но в общем случае так)
Пробуем ввести тот же код, что и в двух предыдущих лабах подряд:
Фильтрации нету, тогда какого х*я это не работает? Минут 10 я думал над этим пока не вспомнил, на что воздействует зловредный код. Синоним DOM- это клиент (мне так проще было запомнить), а этот скрипт обрабатывается сервером. Так как может обработать код то -чего нету, тогда до меня дошло, нужен пейлоуд связанный с клиентской частью. В гугле нашел это: <img src="" onerror=alert(document.cookie)>. Что делает код? Это стандартный обработчик событий, он как бы говорит: Загрузи изображение из src, а если будет какая-то ошибка(у нас поле пустое, значит ошибка будет), то выполни alert(document.cookie). Ну и получим флаг. Задание решено
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Несколько моментов которые я понял для себя:
1) Тупо тестить интересующий вас домен, не нужно искать, сравнивать виды уязвимостей на сайте, берите тупо список и вставляйте в формы, консоли браузеров либо различных скриптов по автоматизации этих действий (xsstrike как пример) и отталкивайтесь от этих результатов
2) Недостаточно тупо читать статьи, практикуйтесь. Я с форумом относительно давно, стараюсь читать все что интересно, прошу контакты людей в тг(удобнее), что бы узнать нужную мне инфу. Пока я не оформил подписку на HTB(не реклама), я думал что я подкован во всем, а по факту-нигде, много проблем возникало на простых вещах, теорию знаю, а применять не умею.
3) Время- ваш главный ресурс, максимально используйте GPT, пока гуглите всю инфу (а ее капец как много, я хоть не так много модулей прошел, но без GPT я бы умер это гуглить ).
P.S. Если есть косяки обязательно пишите, буду править инфу.( пунктуацию в школе не проходил
)
Приятного прочтения
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Что такое XSS
Типичное веб-приложение работает, получая HTML-код с внутреннего сервера и отображая его в клиентском интернет-браузере. Когда уязвимое веб-приложение не выполняет надлежащую очистку пользовательского ввода, злоумышленник может внедрить дополнительный код JavaScript в поле ввода (например, комментарий/ответ), поэтому, когда другой пользователь просматривает ту же страницу, он неосознанно выполняет вредоносный код JavaScript.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Типы XSS
Существует три основных типа XSS-уязвимостей:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Сохраненный XSS (Stored XSS)
Если внедренная нами полезная нагрузка XSS сохраняется в бэкэнд-базе данных и извлекается при посещении страницы, это означает, что наша атака XSS является постоянной и может затронуть любого пользователя, посещающего страницу. Это делает этот тип XSS наиболее критическим, поскольку он затрагивает гораздо более широкую аудиторию, поскольку любой пользователь, посещающий страницу, станет жертвой этой атаки. Кроме того, Stored XSS может быть нелегко удалить, и может потребоваться удаление полезной нагрузки из внутренней базы данных.
Практика:
2)Вставляем IP в браузер и смотрим что нам выдает:
1)Та полезная нагрузка из задания:
Что мы видим? Мы видим код JS, который при отсутствия каких либо фильтраций спокойно показывает нам url адрес страницы
1)
2)
Из задания мы видим, что нам нужны куки, так как там флаг, а поскольку мы с вами не Кевины Митники, то обращаемся в гугл и ищем скрипты связанные с куки
Из интернета я нашел след. скрипт:
<script>alert(document.cookie)</script>Ну и естественно вводим это в поле ввода. Результат:
Мои поздравления, мы с вами решили первую лабу на сохраненную XSS. Среди реальных гигачатов-хакеров это жир, подарок с небес, ведь внедрив пару строк js они реально могут делать конкретную грязь. Для более подробной эксплуатации такой уязвимости можно почитать в гугле.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Отражённый XSS (Reflected XSS)
Давайте сразу к таску:
переходим по айпишнику:
Казалось бы, такая же ху*ня, тот же to-do list и как вообще возможно искать другой вид xss, но не торопитесь мои юные коллеги, все по порядку. Давайте мы введем в форму "test" и глянем что будет.
А теперь все внимание на url-ку. Если сравнивать результат после ввода в форму, то обратим наше чудное внимание на их разницу: все одинаково. но в этой лабе добавляется ?task=test. Когда я это проходил, то не сразу заметил разницу в url, а когда заметил, не зная основ веб приложений и устройства веб страниц вспомнил этого дядьку
В итоге вводим тот же скрпит, что и в первой лабе
<script>alert(document.cookie)</script> и получаем:
Следующий вопрос который у вас возникнет: почему вводя один и тот же скрипт, мы получаем разные виды XSS. Все просто: пейлоуд из первой лабы на сохраненную XSS сохраняется на серваке, никому ничего не нужно отправлять, он срабатывает уже при заходе пользователя на домен.
А вот со второй лабой на отраженный XSS интереснее. Пейлоуд заключен в URL адресе, он срабатывает только тогда, когда пользователь будет переходить по ссылке. Давайте просто возьмем и посетим url который получился во второй лабе, дабы проверить себя.
Заметим что браузер автоматически закодировал наш пейлоуд, делается это по большей части для:
Если я нажму enter, страница выведет мне следующее:
Флаг получен, переходим дальше:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DOM-XSS-атаки (Dom XSS)
Перейдем сразу к таску:
Из определения HTB нам сказано, что при DOM XSS все обрабатывается на клиентской части, давайте перейдем опять по IP-шнику и что-нибудь введем:
Опять этот ебуч*й todo, ну ладно.
Тестовый запрос и под капот:
Что мы видим? Наш запрос обрабатывается, в теге ul виден наш текст. Еще видим, что в url появилась # для добавленного нами элемента, что означает, что это клиентский параметр, проще говоря после решетки сервак ничего не обрабатывает. (в данном примере его нету, но в общем случае так)
Пробуем ввести тот же код, что и в двух предыдущих лабах подряд:
Фильтрации нету, тогда какого х*я это не работает? Минут 10 я думал над этим пока не вспомнил, на что воздействует зловредный код. Синоним DOM- это клиент (мне так проще было запомнить), а этот скрипт обрабатывается сервером. Так как может обработать код то -чего нету, тогда до меня дошло, нужен пейлоуд связанный с клиентской частью. В гугле нашел это: <img src="" onerror=alert(document.cookie)>. Что делает код? Это стандартный обработчик событий, он как бы говорит: Загрузи изображение из src, а если будет какая-то ошибка(у нас поле пустое, значит ошибка будет), то выполни alert(document.cookie). Ну и получим флаг. Задание решено
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Итог:
Я очень рад что вы дочитали эту статью. В ней мы разобрали практически все начиная от определения и видов XSS, заканчивая умением их обнаруживать, как их эксплуатировать я сделаю отдельную часть. Ниже я прикреплю табличку из GPT для новичков, что бы закрепить полученные знания:
Несколько моментов которые я понял для себя:
1) Тупо тестить интересующий вас домен, не нужно искать, сравнивать виды уязвимостей на сайте, берите тупо список и вставляйте в формы, консоли браузеров либо различных скриптов по автоматизации этих действий (xsstrike как пример) и отталкивайтесь от этих результатов
2) Недостаточно тупо читать статьи, практикуйтесь. Я с форумом относительно давно, стараюсь читать все что интересно, прошу контакты людей в тг(удобнее), что бы узнать нужную мне инфу. Пока я не оформил подписку на HTB(не реклама), я думал что я подкован во всем, а по факту-нигде, много проблем возникало на простых вещах, теорию знаю, а применять не умею.
3) Время- ваш главный ресурс, максимально используйте GPT, пока гуглите всю инфу (а ее капец как много, я хоть не так много модулей прошел, но без GPT я бы умер это гуглить ).
P.S. Если есть косяки обязательно пишите, буду править инфу.( пунктуацию в школе не проходил
Любите хакинг, Изучайте хакинг, Создавайте хакинг
BitByte
BitByte
Вложения
-
1736542464907.png19 КБ · Просмотры: 6 -
1736543996872.png35.9 КБ · Просмотры: 6 -
1736544109513.png13.7 КБ · Просмотры: 7 -
1736544310373.png14.1 КБ · Просмотры: 7 -
1736627871782.png15.2 КБ · Просмотры: 7 -
1736630439378.png48.7 КБ · Просмотры: 7 -
1736632039705.png29.3 КБ · Просмотры: 7 -
1736632125828.png39.1 КБ · Просмотры: 7