Введение: Недавно я изучал Node, и, кстати, я написал примеры и решения для атак на веб-безопасность. Сославшись на некоторые материалы, я сам об этом подумал, код не очень совершенен, да и узел тоже в стадии исследования, прошу меня простить. Надеюсь, он будет полезен тем студентам, которые не очень хорошо знакомы с безопасностью и имеют неясные базовые знания.
Смотрите предыдущую статью для решения (Теория), здесь в основном демонстрируется принцип атаки
Код:git@github.com:StyLanQP/web-Safe.git
гитхаб-адрес:GitHub.com/St с LAN QP/Tower…
Код проекта выглядит следующим образом:
приложение: обычный сайт
взломать: веб-сайт, имитирующий взлом
Используемая технология: node+express+react+mysql
Введение в проект
1. Каталог кодов
2. Создайте базу данных
node app/mysql.js сначала запустите этот файл для создания таблиц и данных
как показано на рисунке
1. XSS (межсайтовый скриптинг) Атака межсайтового скриптинга
Принцип: Злоумышленник вставляет вредоносный исполняемый код сценария веб-страницы в веб-страницу. Когда пользователь просматривает страницу, код сценария, встроенный в Интернет, будет выполнен, так что злоумышленник может украсть информацию о пользователе или иным образом нарушить безопасность пользователя.Цели конфиденциальности .
1. В это время запустите проект npm run start, чтобы открыть домашнюю страницу.
В настоящее время домашняя страница написана с помощью шаблона реакции.React DOM
Содержимое (строка) будет экранировано при рендеринге, поэтому метка в виде строки не будет использоваться какHTML
теги обрабатываются, поэтому входной скрипт не может быть выполнен
Поэтому добавьте страницу xss.html, которая загружается с использованием шаблона ejs (независимо от того, вводит ли она тег скрипта из URL-адреса, напримерhttp://localhost:4000/xss?text=Или сразу получить код, хранящийся в базе данных, будет выполнен)
2. Начните использовать атаку document.cookie и измените ее на атаку по методу, который только что был
Открытымhttp://localhost:4000/xss увидит интерфейс, запрашивающий http://localhost:5000/xss.html
В консоли вы можете увидеть, что веб-сайт хакера на порту 5000 распечатал файл cookie. Используя файл cookie, мы можем установить файл cookie на консоли для входа непосредственно на веб-сайт.
2. Межсайтовая подделка CSRF
Принцип: побудить пользователя открыть веб-сайт хакера и использовать статус входа пользователя, чтобы инициировать межсайтовый запрос на веб-сайте хакера.
1. В состоянии входа в систему откройте страницу localhost:5000/csrf.html. В консоли мы видим запрос setDataList. Это интерфейс для отправки контента. На домашней странице 4000 мы видим, что контент изменилось.
Обычное содержимое веб-сайта изменено
Решение (сгенерировать токен, вывести на интерфейс nonce и timesTamp)
3. Нажмите Взлом
Принцип: после входа пользователя в систему веб-сайта А у злоумышленника возникает соблазн открыть сторонний веб-сайт, а сторонний веб-сайт вводит содержимое страницы веб-сайта А через iframe, а пользователь нажимает кнопку (оформленную button) на стороннем веб-сайте. , который на самом деле нажимает кнопку на веб-сайте А.
Решение, ограничить встраивание iframe
использованная литература
Атака против воспроизведения на основе метки времени и одноразового номера
Проблемы, связанные с заголовком безопасности протокола HTTP X-Content-Type-Options
Видео веб-безопасности Учителя Ся, отправленное другом, не может поместить ссылку