推荐使用docker方式搭建
Ссылка на статью: https://segmentfault.com/a/1190000021899373
Использование docker для быстрой сборки xssPlatform — платформы тестирования на XSS уязвимости
Я поместил исходный код в GitHub, чтобы предоставить его заинтересованным коллегам. Чтобы упростить процесс установки, я написал статью, которая поможет вам.
Этот инструмент запрещает несанкционированное коммерческое использование и повторное коммерческое использование после разработки.
Инструмент предназначен только для законных целей обеспечения безопасности предприятий. При использовании инструмента для обнаружения вы должны убедиться, что ваши действия соответствуют местному законодательству и у вас есть необходимые разрешения.
Если во время использования инструмента вы совершаете незаконные действия, вы несёте за это ответственность. Мы не несём никакой юридической ответственности.
Перед использованием инструмента внимательно прочитайте, полностью поймите и примите все условия. Условия, ограничения, отказ от ответственности или другие положения, которые могут повлиять на ваши важные права, могут быть выделены жирным шрифтом или подчёркнуты. Если вы не прочитали, не поняли и не приняли все условия настоящего соглашения, пожалуйста, не используйте этот инструмент. Ваше использование или любое другое явное или подразумеваемое согласие с настоящим соглашением считается вашим принятием ограничений, предусмотренных настоящим соглашением.
Адрес GitHub: https://github.com/78778443/xssplatform
Сначала скопируйте код в указанное место с помощью команды cd:
cd /Users/song/mycode/safe/
Затем загрузите исходный код с помощью git:
git clone https://github.com/78778443/xssplatform.git
XSS Platform должен работать в корневом каталоге, поэтому необходимо создать отдельный виртуальный хост. В качестве примера я использую среду nginx и настраиваю виртуальный хост следующим образом:
server {
listen 80;
server_name xss.localhost;
root /Users/song/mycode/safe/xssplatform/;
rewrite "^/([0-9a-zA-Z]{6})$" /index.php?do=code&urlKey=$1 last;
rewrite "^/do/auth/(\w+?)(/domain/([\w\.]+?))?$" /index.php?do=do&auth=$1&domain=$3 last;
rewrite "^/register/(.*?)$" /index.php?do=register&key=$1 last;
rewrite "^/register-validate/(.*?)$" /index.php?do=register&act=validate&key=$1 last;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
После изменения конфигурации файла необходимо перезапустить nginx, чтобы изменения вступили в силу:
nginx -s reload
Файл hosts находится в /etc/hosts
, и его можно отредактировать с помощью vim:
vim /etc/hosts
Добавьте строку в файл:
127.0.0.1 xss.localhost
После добавления виртуального хоста и записи в файле hosts можно получить доступ к платформе через браузер по адресу http://xss.localhost/
. После открытия вы будете автоматически перенаправлены на страницу установки. На этой странице вам нужно будет ввести информацию о базе данных и учётные данные администратора, как показано на рисунке ниже:
После ввода информации о базе данных вы увидите сообщение об успешном импорте данных:
Это означает, что установка прошла успешно.
Теперь давайте познакомимся с некоторыми функциями XSS Platform. После завершения установки нажмите «Перейти на главную страницу». Вам потребуется войти в систему. Введите учётные данные, которые вы указали при установке, и нажмите «Войти». После успешного входа вы автоматически перейдёте на главную страницу:
На главной странице вы увидите проект по умолчанию. Нажмите «default», чтобы увидеть список жертв. Однако после установки данных ещё нет:
В правом верхнем углу есть ссылка для просмотра кода, подготовленного XSS Platform. Нажмите на неё, чтобы просмотреть код атаки:
Теперь мы проведём несколько практических демонстраций. Сначала мы найдём уязвимость XSS в системе тестирования проникновения permeate и внедрим в неё код атаки XSS Platform. Затем мы имитируем жертву, посещающую уязвимую страницу, и используем полученный cookie для олицетворения жертвы.
Исходный код и руководство по установке permeate можно найти здесь: https://github.com/78778443/permeate
Ранее я успешно установил permeate. Теперь я создам пост и вставлю код атаки в заголовок поста, как показано ниже:
Нажмите «Опубликовать», и пост будет опубликован. Предположим, что вы жертва и посетили список постов. Заголовок поста не будет отображаться, поскольку браузер не выполнит тег
<script>
:
Как видите, заголовок не отображается. Вернёмся к XSS Platform и проверим проект default. Вы увидите жертву в списке:
Это указывает на то, что жертва была успешно атакована, и XSS Platform получил cookie и информацию заголовка.
Получив cookie, я воспользуюсь другим браузером, чтобы изменить cookie и войти в учётную запись жертвы, как показано ниже:
После обновления страницы я войду в систему как жертва:
Если вам интересна эта статья, рекомендую обратить внимание на мою новую книгу «Практика обеспечения безопасности PHP-приложений». Книга уже доступна для покупки на различных платформах. Обложка книги показана ниже:
Автор: Тао Цинсун Дата: 08.12.2018 WeChat: songboy8888
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )