PDA

Просмотр полной версии : Уязвимость pikabu.ru


plitka123
16.02.2013, 04:48
На развлекательном сайте pikabu.ru есть оценка постов +/-, которые содержат в себе onclick с вызовом AJAX-запроса, который выглядит так:


HTML:
$.ajax({
url: 'http://pikabu.ru/ajax/dig.php',
data:{ i: id, type: Ztype },
type: 'POST',
dataType: "json",
success: function(data,code,n)
{ ... }
})

Этот AJAX отсылает id поста и его оценку в базу данных.

Я попытался со стороннего сервера выполнить аналогичный запрос, но получил статус (canceled) (Status Code:403 Forbidden). Можно ли в этой ситуации дать серверу понять, что мой AJAX-запрос является его родным и выполнить его?

попугай
16.02.2013, 12:41
Посмотри заголовки и потом шли такие же.

plitka123
16.02.2013, 18:13
intertrey said:
ajax запросы не разрешается выполнять с других доменов, есть способы как настроить апач и обойти данную фичу аякса


Интересно, где я могу узнать об этом больше? Что гуглить?

|qbz|
16.02.2013, 18:56
ajax запросы не разрешается выполнять с других доменов, есть способы как настроить апач и обойти данную фичу аякса


Лолчто простите? Просто смотрим какие заголовки посылаются через LiveHTTPHeaders, копируем в тот же curl, посылаем запрос хоть с локалхоста - все будет работать.

Cвященник
16.02.2013, 19:01
гугли "междоменный запрос" или "cross domain ajax"

plitka123
16.02.2013, 21:23
попугай said:
Посмотри заголовки и потом шли такие же.


А как быть с заголовком referer? Браузер его переписывает всегда.

попугай
16.02.2013, 22:09
plitka123 said:
А как быть с заголовком referer? Браузер его переписывает всегда.


ну и ты переписывай

WendM
17.02.2013, 14:38
Так в чем уязвимость?


Этот AJAX отсылает id поста и его оценку в базу данных.


Данные могут проверяться

|qbz|
17.02.2013, 20:25
ты тоже по гугли, так не прокатит, надо пару манипуляций сделать дополнительных.
http://slyweb.ru/jquery/cross-domain-ajax/


Если бы мы подделывали запрос на яваскрипте, что уже само по себе довольно странное решени и годится только тогда, когда надо раскрутить хсс/хсрф, то да, верно. Но курл может подделать все что угодно, хоть реферер, хоть что, так что он справится с этим без проблем.

plitka123
25.02.2013, 09:09
|qbz| said:
Если бы мы подделывали запрос на яваскрипте, что уже само по себе довольно странное решени и годится только тогда, когда надо раскрутить хсс/хсрф, то да, верно. Но курл может подделать все что угодно, хоть реферер, хоть что, так что он справится с этим без проблем.


Но ведь браузер потом переписывает referer, что бы я в курле не писал.