[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита уязвимостей ajax
qpayct
У мине на сайте есть редактор товаров работающий на ajax. Get передаются параметры навигации по вложеным категориям, а post само редактирование бд. Вопрос, как лучше защитится? Очищать строки от нежелаемых наборов символов или как то еще?
Прочитал статей 10 насчет защиты от xss и прочей фигни все понятно. Мне интересно другое:
1. нигде не нашел пока может ли злоумышленник перехватить и подменить содержимое responseText? Если да, то как?
2. можно ли замутить нечто подобное на сайтах не использующих ajax? Тоесть перехватить документ по пути от сервака к клиенту или наоборот и модифицировать? Если да, то как лучше защищаться от подобных промыслов врагов?
Благодарю.



Спустя 4 минуты, 39 секунд (6.02.2010 - 00:48) Ice написал(а):
проверяй соответствуют ли параметры тому, чего ты ждёшь?

Спустя 3 минуты, 25 секунд (6.02.2010 - 00:51) qpayct написал(а):
А их разве нельзя подделать?

Спустя 2 минуты, 33 секунды (6.02.2010 - 00:54) Ice написал(а):
выдать нечисло за число?smile.gif или, например:

$action = $_GET['act'];

switch($action){
case "del": ...;
break;
case "edit": ...;
break;
case "add": ...;
break;
default: ...;
}

попробуй обойди)

Спустя 42 минуты, 18 секунд (6.02.2010 - 01:36) qpayct написал(а):
Под параметрами(я так понял сначала) ты имел ввиду параметры сервера, а теперь вижу, что ты говоришь о значениях, которые ты предлагаешь подставлять в ассоциативные массивы... Вообще я сам не знаю насколько это правильно так делать с точки зрения безопасности, но вот, что по этому поводу пишет хакер. Почитай, авось передумаешь wink.gif

Вопросы остаются открытыми.

Спустя 2 часа, 38 минут, 11 секунд (6.02.2010 - 04:14) Ice написал(а):
у меня всегда только одна точка входа, мне нечего передумывать wink.gif

Спустя 49 минут, 52 секунды (6.02.2010 - 05:04) qpayct написал(а):
Ахи, разговор вообще-то не про тебя, а про мои конкретные вопросы. Не можешь помочь, так и не размазуй кашу по столу.
Люди, обьясните кто нибудь пжласта.

Спустя 2 дня, 2 часа, 59 минут, 19 секунд (8.02.2010 - 08:03) qpayct написал(а):
Да.... Ясно, куча ответов и даже не знаю с чьего начать....
Может перефразировать вопрос?
Тогда так:
Я сделал админку на Ajax. В ней можно изментяь любые таблицы, как душе угодно, кроме таблиц юзверей. Теперь думаю, как полноценно защититься? Защитится понятно хочу серьёзно и основательно и впервые с Ajax потому и возник вопрос так ли способы защиты отличаются на самом деле от привычных(не Ajax)? ведь как не крути работает Ajax по всё тем же протоколам и теми же методами. Так может и защищатся надо также? Конечно я нашел не мало статей, как защитить Ajax приложения. В них описываются всевозможные аспекты защиты от XSS и injection в основном, но меня больше пугает не это, с этим то я разберусь. Я подумал вот бы была беда в натуре, еслиб злоумышленик перехватил весь responseText подменил его на свой и отправил дальше. К сожалению я не нахожу никакого руководства к действию на эту тему ни в одной книге по Ajax.... Неужели это настолько нереально перехватить канал юзера и разбавлять его своей бодягой?
ПРОФИ, настоятельно прошу мне разжевать.
Благодарю.

Спустя 7 минут, 33 секунды (8.02.2010 - 08:11) Семён написал(а):
Какая разница что тебе передаёт пользователь.
Твоя задача - фильтрование всей приходящей инфы, непосредственно в скрипте / обработчике. Ты сам ответил на свой вопрос:
Цитата
ведь как не крути работает Ajax по всё тем же протоколам и теми же методами. Так может и защищатся надо также?

Спустя 13 минут, 24 секунды (8.02.2010 - 08:24) qpayct написал(а):
ну блин. волнуюсь smile.gif надож всё, чтоб было в лучшем виде wink.gif
ещё кто из профи может подкрепить такие взгляды для полной уверенности?

Спустя 58 минут, 34 секунды (8.02.2010 - 09:23) twin написал(а):
qpayct
Цитата
Я подумал вот бы была беда в натуре, еслиб злоумышленик перехватил весь responseText подменил его на свой и отправил дальше.

А кто мешает злоумышленнику перехватить простой запрос, подменить на свой и отправить дальше? В чем тут принципиальная разница между аяксом и не аяксом?
Для защиты от атак такого рода испльзуются защищенные протоколы, HTTPS допустим, других методов нет.

Спустя 41 минута, 44 секунды (8.02.2010 - 10:05) Семён написал(а):
twin
нахрена тут https? smile.gif

Спустя 2 минуты, 6 секунд (8.02.2010 - 10:07) qpayct написал(а):
twin
однозначно не знаю есть ли принципиальная разница и мыслить так начал непосредственно впервые. тоесть вроде бы понял, но уверенности нет и потому и обращаюсь к бывалым.

я вот допустим думал может есть такой вот способ защиты - документ делится на несколько частей :
1. верхняя(не изменяется никогда)
2. средняя(динамичная)
3. нижняя(не изменяется никогда)
под средней частью я подразумеваю как раз те значения, которые и меняет пользователь. тоесть если засечены изменения того чего я не хочу позволять менять сразу срабатывает защита от гадов.
есть вот что-то подобное?

Спустя 15 минут, 43 секунды (8.02.2010 - 10:22) twin написал(а):
Ну ты знаешь, что такое прокси-сервер?
Если в подъезде твоего дома жулик в разрыв провода поставит свой компьютер, то ты будешь думать, что это сервер, а сервер - что это ты. И все все, что ты будешь передавать или получать, так или иначе может быть подменено или просто стырено.
И совершенно нет разницы, аякс это или нет. И как бы ты не прятал, как бы не изгалался - все равно жулик сделает с тобой все, что только пожелает, да еще в извращенной форме.
Другой вопрос, надо ли это кому. Если у тебя банк, то да. Вот для таких случаев и придуман протокол https

Спустя 13 минут, 9 секунд (8.02.2010 - 10:36) sergeiss написал(а):
Цитата (twin @ 8.02.2010 - 11:22)
Если в подъезде твоего дома жулик в разрыв провода поставит свой компьютер, то ты будешь думать, что это сервер, а сервер - что это ты..........

Я подобным образом делал как-то давно одну прогу, "подслушивающую" COM-порт smile.gif
Правда, там всё было по-честному, т.е. используемое оборудование принадлежало конторе, где я работал. Просто для управления использовался комп с ДОСом с "нетрадиционными" настройками, и программа управления работала только с этими настройками.
Пришлось делать свою программы, которая "слушала" COM-порт, оба его направления, и обрабатывала нужные данные из потока.
А оба устройства, т.е. основное и комп с программой управления, не знали об этом. И защититься не смогли бы никак (если бы и узнали), кроме как если усложнить протокол обмена.

С аяксом и другими протоколами принципиально всё то же самое, только на другом уровне протоколов.

Спустя 5 минут, 19 секунд (8.02.2010 - 10:41) Семён написал(а):
twin
1) Это смотря какой тип соединения.
2) У твоего жулика не будет id сессии.
3) SSL не даёт 100% защиты и требует дополнительных шаманств, которые в 99% неоправданы, если конечно фауст не делает личный кабинет платёжной системы или банка

Спустя 46 минут, 52 секунды (8.02.2010 - 11:28) qpayct написал(а):
twin sergeiss Семён
по моему вы кое что упустили из виду. повторю на всякий случай:
я вот допустим думал может есть такой вот способ защиты - документ делится на несколько частей :
1. верхняя(не изменяется никогда)
2. средняя(динамичная)
3. нижняя(не изменяется никогда)
под средней частью я подразумеваю как раз те значения, которые и меняет пользователь. тоесть если засечены изменения того чего я не хочу позволять менять сразу срабатывает защита от гадов.
есть вот что-то подобное?


Семён
мне до платёжных систем пока рано

Спустя 13 минут, 55 секунд (8.02.2010 - 11:42) twin написал(а):
Цитата
1) Это смотря какой тип соединения.
это ты про что?
Цитата
2) У твоего жулика не будет id сессии.
еще как будет
Цитата
3) SSL не даёт 100% защиты и требует дополнительных шаманств, которые в 99% неоправданы, если конечно фауст не делает личный кабинет платёжной системы или банка
ну а я про что. Если игра стоит свечь, придется шаманить. А не стоит, так и жуликам лезть нерентабельно.

qpayct
Цитата
под средней частью я подразумеваю как раз те значения, которые и меняет пользователь. тоесть если засечены изменения того чего я не хочу позволять менять сразу срабатывает защита от гадов.
а как ты узнаешь, гад это меняент или юзер? На сервере этого не видно. Даже если ты будешь идентифицировать его по ID сессии, IP, юзерагенту и т.п, жулик все равно все это подменит.

Спустя 16 минут, 34 секунды (8.02.2010 - 11:58) qpayct написал(а):
twin
вы не поняли.
мне не надо знать кто меняет. достаточно, что изменили то чего я не хочу чтобы меняли. менятся может только значение а остальной код допустим будет проверятся на совпадение с оригиналом у меня на серваке. вот как то так. интересно есть ли подобные защиты уверен что есть. тоьлко я пока про них не знаю.

Спустя 2 часа, 47 минут, 9 секунд (8.02.2010 - 14:45) Семён написал(а):
twin у меня аж взрыв мозга произошёл, как ты вклинишься в линию с pppoe типом соединения? а затем будешь перехватывать данные? он не банк делает, там достаточно просто проверки переменных, что за детсад!!! мне это напомнило тему фильтрации данных SQL, какая разница что отправляет пользователь, его дело фильтровать фильтровать их поступления и сверять что можно принимать, а что нет.

Спустя 1 час, 5 минут, 37 секунд (8.02.2010 - 15:51) qpayct написал(а):
Итак мнения разошлись?

Спустя 18 минут, 20 секунд (8.02.2010 - 16:09) twin написал(а):
Цитата
он не банк делает

ну я и в пятый раз говорю - фигня это. Не нужно этим озабочиваться на простом сайте, ни кто не полезет ничего подменять и перехватывать. Это не гугл и не внешторгбанк, тут это просто не выгодно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.