Intereting Posts
PHP Отправка электронной почты BCC Как автоматически сохранить выделение в ComboBox в MYSQL на PHP без кнопки отправки? Laravel 5.2 login всегда выбрасывает «Эти учетные данные не соответствуют нашим записям». Установка драйвера php datastax на ubuntu Regex для удаления котировок вокруг атрибутов, когда это возможно Как связать ссылку с другой php-страницей с помощью события onclick из javascript? mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, указанная строка HTTP-сообщение PHP4 без cURL как я могу создать базу данных mysqli для первого в первый раз? PHP / Twitter oAuth – автоматические твиты PHP MySQL, если время составляет 5 минут или больше, то время хранения : вызывать файл PHP через код JavaScript с аргументом Извлечь переменные Javascript страницы через PHP Все серии на данной оси должны иметь один и тот же тип данных server: run Exception В поле «сервер» отсутствуют команды, определенные

Вопрос о Ajax Hacking

Все,

У меня есть PHP-сайт, написанный в Zend Framework и MVC. Большинство действий контроллера проверяют, является ли запрос Ajax-запросом или нет, иначе они перенаправляют пользователя на домашнюю страницу. Я думаю о различных способах разрыва этого сайта. Я рассматриваю следующий сценарий:

  1. Пользователь создает свой собственный проект PHP на своей локальной машине.
  2. Пользователь записывает запрос на отправку JQuery ajax одному из контроллеров на моем сайте и пытается опубликовать вредоносную информацию. Пример:

    $.ajax({ type: 'POST', url: "https://marketsite/getinfo/getstuff", cache: false, dataType: "html", success: function(html_response){ alert(html_response); }, error: function(xhr,ajaxOptions,errorThrown){ alert(errorThrown); } }); 

Мой вопрос – это атрибут «url» в запросе ajax выше абсолютного пути? Я знаю, что это относительный путь. Кроме того, можно ли разорвать любой сайт, отправив такие запросы?

благодаря

Мой вопрос – это атрибут «url» в запросе ajax выше абсолютного пути?

Одна и та же политика происхождения предотвращает выполнение JavaScript запроса и чтение ответа, если только он не относится к тому же хосту, порту и протоколу.

Это не мешает злоумышленнику сделать любой HTTP-запрос, который им нравится (тривиально построить один вручную, который выглядит так же, как и один, сделанный с помощью JS), и это не мешает злоумышленнику обмануть пользователя, чтобы сделать любой запрос злоумышленником (он не позволяет злоумышленнику получить ответ на этот запрос).

Нет необходимости, чтобы злоумышленник привлекал PHP или любой другой серверный язык для выполнения любого из этих действий.

Кроме того, можно ли разорвать любой сайт, отправив такие запросы?

Это зависит от того, как сайт написан. Вы должны применять те же проверки безопасности на URI, предназначенные для доступа через JavaScript, как те, которые предназначены для доступа с прямым запросом браузера.

Если ваши клиенты не изменят свои настройки безопасности браузера, запросы AJAX ограничены относительными путями их исходных веб-сайтов. Конечно, хакер может изменить Javascript, чтобы указать на любой URL, который он хочет.

Ответ Дэвида был очень полезным, и мне нужно упомянуть пару информации. 1-Zend framework имеет функцию для обнаружения запроса ajax. Проверьте, что обнаружение запросов AJAX

2 – там есть проект с открытым исходным кодом ( PHP IDS ), который очень удобен, он позволяет:

В настоящее время PHPIDS обнаруживает все виды XSS, SQL Injection, встраивание заголовков, обход каталога, атаки RFE / LFI, DoS и LDAP. С помощью специальных алгоритмов преобразования PHPIDS даже может обнаруживать сильно запутанные атаки – это охватывает несколько кодировок, таких как UTF-7, сущности всех форм, такие как юникод JavaScript, десятичные и шестнадцатеричные объекты, а также обфускация комментариев, обфускация посредством конкатенации, код оболочки и многие другие варианты.

Надеюсь, я помог вам 🙂