Ответы пользователя по тегу XSS
  • [php] Защита от Sql и XSS

    @MrGroovy
    Для защиты от межсайтового скриптинг (XSS) можно воспользоваться встроенными функциями, например такими:
    htmlspecialchars()
    Преобразует некоторые символы в виде HTML-сущностей, чтобы сохранить их значение. Обязательно используйте ее для фильтрации данных вводимых пользователей.
    Для защиты от SQL-инъекций можно использовать следующие функции:
    mysql_real_escape_string()
    Экранирует специальные символы, принимая во внимание кодировку соединения, таким образом, что результат можно безопасно использовать в SQL-запросе.
    Еще можно защититься используя фильтрацию по "белому" списку, приведение переменных и используя подготовленные запросы.
    Чтобы найти поля, которые подлежат фильтрации можете воспользоваться специальными сканерами по поиску уязвимостей, например для SQL-инъекций можете воспользоваться утилитой SQLMAP
    Еще перед вами стоит более комплексный подход по защите сайта, то можно воспользоваться онлайн сканерами уязвимостей, которые могут проверить большинство уязвимостей сайта, а так-же не помешает проверить наличие уязвимостей связанных с работой прикладных протоколов. Попробуй metascan или https:// sitecheck.sucuri.net
    Ответ написан
    Комментировать
  • Утилиты для пентеста — отзывы?

    @MrGroovy
    Работал над одним сайтом, который регулярно подвергался атакам и его приходилось постоянно "поднимать".  Использовал сканеры от Positive Technologies и METASCAN, оба хорошие, но МЕТАСКАН мне понравился больше, там был более понятный интерфейс и довольно подробный отчет о сканирование. Ко всему прочему, просканировал не только на предмет веб уязвимостей, еще проверил системные уязвимости и даже, ради интереса, попробовал побрутить SSH. В общем просканировал всю инфраструктуру и нашел уязвимости в OpenSSH и парочку страниц c XSS, после того как все подправил сайт перестал "падать".
    Ответ написан
    Комментировать
  • Как защитить себя от xss?

    @MrGroovy
    Межсайтовый скриптинг, это уязвимость выполняемая на стороне пользователя, различают постоянные и непостоянные XSS. В первом случае, это код который злоумышленнику удается внедрить на страницу и он срабатывает когда, пользователь посещает эту страницу. Непостоянные XXS, это URL-ссылка, которая будет содержать вредоносный код.

    Самый простой способ защититься, это очищающие фильтры вводимых данных, например

    filter_var($url,FILTER_SANITIZE_SPECIAL_CHARS)

    Что касается вашего случая, для начала, я бы рекомендовал сначала установить, какие именно формы для заполнения и отправки данных представляют угрозу. Можно создать SQL-инъекцию или внедрить JavaScrip и своровать Cookie сессию администратора. А можно залить специально сконфигурированный файл с полезной нагрузкой и запустить его по средствам эксплойта в устаревшем ПО.

    Для того чтобы найти места на сайте уязвимые к XSS и другим уязвимостям попробуй онлайн сканер типа METASCAN. Он покажет слабые места сайта и их в последствии можно будет "закрыть".
    Ответ написан
    Комментировать
  • Безопасность веб-приложений: Какие есть наиболее распространенные способы атак/взлома сайтов?

    @MrGroovy
    Настройку безопасности сервера Apache можно посмотреть в документации на оф. сайте. https://httpd.apache.org/docs/2.4/misc/security_ti...

    Веб-уязвимости разберем на примере OWASP Top 10.
    1) Инъекции. SQL, NoSQL, OS и LDAP т.е. все что связано с выполнением команд и доступам к базам данных, без надлежащей авторизации, например:
    SELECT id_news FROM news WHERE id_news = -1 UNION SELECT 1,username,password,1 FROM admin

    Защититься от такого запроса можно созданием "Белого списка"
    $sort    = isset($_GET['sort'])
    $allowed = array("id_news,name"); //перечисляем разрешенные варианты
    $key     = array_search($sort,$allowed); // ищем среди них переданный параметр
    $orderby = $allowed[$key]; //выбираем найденный элемент. 
    $query   = "SELECT * FROM `table` ORDER BY $orderby DESC"; //составляем безопасный запрос

    2. Межсайтовый скриптинг (XSS). Например, формирование небезопасной ссылки:
    http://example.com/search.php?q=<script>CookieStealer();</script>

    Что позволит выполнять выполнить вредоносную функцию.
    Защитится можно с помощью функции преобразования например:
    <?php
    $text = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
    echo $text;
    ?>

    Ещё есть ошибки конфигурации прав доступа, ненадежные пароли, неправильная настройка сессии аутентификация, хранение данных в незашифрованном виде и использование компонентов с известными уязвимостями. Есть способы обхода фильтрации вводимых данных. Есть атаки на уровне прикладных протоколов.
    Для выявления каждой отдельной уязвимости существуют различные утилиты для проверки.

    Начать можно с Nmap и продолжить чтением OWASP Web Application Security Guide.

    Есть специальные ресурсы, сканеры уязвимостей, которые могут проверить большинство уязвимостей, например:
    https://metascan.ru
    https: //acunetix.com/
    https: //detectify.com/
    И уже после нахождения уязвимостей можно начать их устранять.
    Ответ написан
    Комментировать
  • Как выявить через какой запрос проводят xss атаку?

    @MrGroovy
    Действительно, фильтрация вводимых данных помогает, если настроена правильно. Лучше всегда перепроверять специальными сканерами, из популярных - Legion, SPARTA и Arachni, ещё в OWASP ZAP есть такая функция.
    Из онлайн вариантов подойдут https://metascan.ru или https ://detectify.com/ Они покажут не только XSS уязвимости, но и возможность внедрения SQL инъекций и уязвимости сетевого стека. Тогда будет видно, какие именно запросы могут привести к взлому.
    Ответ написан
    Комментировать