• Начинающий хакер, спасибо что зашёл к нам! Для полного удобства рекомендуем Вам сразу же зарегистрироваться. Помните, необходимо придумать сложный пароль к своему логину, в котором будут присутствовать цифры, а так же символы. После регистрации вы сможете пользоваться чатом. Так же не забудьте активировать аккаунт через письмо, высланное вам на почту ! Администрация заботится о каждом из Вас...
  • Для просмотра разделов из категории Private Informations & Programms необходимо купить

Руководство по применению: как обойти XSS-фильтры

Gidroponika

Ваши вопросы в Telegram: @milliontri22
Топовый

Gidroponika

Ваши вопросы в Telegram: @milliontri22
Топовый
Регистрация
28 Янв 2017
Сообщения
730
Реакции
834
Баллы
5

Практически в любом веб-проекте есть уязвимости, и я научу вас использовать это обстоятельство в своих целях. Практических, конечно же.

Как исследовать элемент Site Name
Любое web-приложение работает по принципу кодировки символов «<» и «>». Для начала, нужно выяснить каким образом происходит обработка. Проверку получится обойти, если она происходит на стороне клиента HTML5/Javascript.

Итак, откройте страницу в удобном браузере, правой кнопкой мыши кликните на форме «Site Name». Вы увидите контекстное меню. Для того, чтобы открыть окно с редактированием свойств элементов необходимо выбрать пункт под названием "Inspect Element".

Как удалить все ограничения на стороне клиента
Тут все очень просто. Потребуется всего лишь увеличить значение в поле maxsize, при этом предварительно удалив поле pattern. Итого, мы получаем:

<input type="text" placeholder="Name of site" maxsize=" 100" class="form-control" required="" name="name">

Как удалить код, отвечающий за кодирование символов
С большой вероятностью, символы "<" и ">" обрабатываются при помощи файла ex1.js (Javascript). Первым делом необходимо слегка отредактировать avascript-код на стороне клиента. Для этого предлагаю использовать плагин Web Developer. Удаляем код, который отвечает за кодирование HTML-символов, зайдя во вкладку Sources. Вот что у нас получается:

var siteName = $(".ex1 input[type='text']").val().trim().replace(/</g, "<").replace(/>/g, ">"); var siteURL = $(".ex1 input[type='url']").val().trim().replace(/</g, "<").replace(/>/g, ">");

Как добавить полезную нагрузку
После удаления обработки символов на стороне клиента, в поле Site Name необходимо добавить следующую полезную нагрузку, не забыв нажать на Submit:

<script>alert('Ex1')</script>

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

Спасибо за прочтение.
 
Сверху Снизу