Определение MAC-адреса средствами JavaScript

HoLoD

Новичок
Я понимаю, что любую защиту можно обойти, но это напряжёт по-крайней мере ламеров, которые сейчас пользуясь тем, что IP забанить нельзя, пакостят.

Для усложнения процедуры, сделаю следующее, а MiksIr и
Апокалипсис попробуют ответить, как это обойти. А реализация защиты будет такая:

1) в ActiveX будет вшито секретное слово, назовём его secret. Сам билд будет сжат и запакован 3-4 запаковщиками разными типа антисофтайс-ов всяких и пр. secret будет также на сервере храниться, например в исходнике PHP.

2) при открытии страницы, ActiveX будет запрашивать с сервера число, которое будет генерить PHP-скрит уникально, ну, к примеру, это будет дата и время сервера. Полученное число будет сохраняться в БД вместе с сессией юзера. Назовём его N['session'].

3) ActiveX будет выполнять следующую процедуру: answer=md5(secret+N). Answer отправляется на сервер, вместе с ним отправляется DES(MAC, secret), где DES - криптографический алгоритм шифрования MAC по ключу secret.

4) Если не пришёл answer, значит страницу сайта больше не показываем на эту сессию. Если пришёл, то выполняем аналогичное преобразование: md5(secret+N['session']) и сравниваем его с answer. Если не совпало, значит нас пытаются обмануть и юзер идёт в бан. Если совпало, значит дешифруем DES(MAC, secret) и проверяем доступность MAC - в бане он или нет.

Ну что, спецы, что вы теперь скажете на такой вариант защиты? Думаю все вопросы и сомнения сразу отпали по поводу стойкости такой системы ;)
 

boombick

boombick.org
ответить, как это обойти. А реализация защиты будет такая
Взять секретный браузер по имени Opera (Firefox/Safari/Konqueror/Links/etc). И твой суперкрутой ActiveX идет лесом...

HoLoD
Молодец, что выучил много таких красивых и умных слов :)
 

Апокалипсис

тех дир matras.ru
HoLoD
Ваш проект только в IE будет работать?
Будете принуждать его использовать?
Я вот если через IE лазею - никакой ActiveX не дам выполнять.
 

HoLoD

Новичок
boombick и Апокалипсис - если вы будете юзать иной браузер или запрещать ActiveX, то на п.4 answer не придёт и страница не откроется (к примеру откроется страница с требованием юзать IE и разрешить ActiveX с сайта - типа он сделан в целях авторизации и всё такое):)

К счастью я могу в сети пользователей моего проекта обязать юзать только Internet Explorer и разрешить ActiveX (проектом пользуются только сотрудники одной компании, имеющей отношение к разработке для Microsoft и кто-то гадит - такое решение будет очень в тему).

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

dimagolov

Новичок
HoLoD, про стойкость защиты.
берется китайская карточка, в которой MAC меняется из свойств карты в Control Panel и вся защита идет лесом.
да, ты забыл про такие забавные штуки как USB (ADSL, кабель, и т.п.) модемы, в которых сетевой карты как бы и не будет, будет только виндовое подключение к инету.

а еще есть большое сомнение, что даже без вышеперечисленного ценность сайта и доступа к нему оправдает создание ActiveX-а....
 

HoLoD

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

Тогда к MAC адресу можно приписать серийный номер винта и прочие системные параметры :) Не будет же юзер пол-компа пересобирать, чтобы обойти бан и написать одну бяку, за которую он опять в бан уйдёт :)
 

Апокалипсис

тех дир matras.ru
Интересно что за проект такой против которого такие меры - о которых не знает даже ФСБ? :D
 

MiksIr

miksir@home:~$
Автор оригинала: HoLoD
С помощью ActiveX - это элементарно, но почти никто не разрешит загрузку себе на комп с сайта такой активХ (мало ли что в нём).
Автор оригинала: HoLoD
К счастью я могу в сети пользователей моего проекта обязать юзать только Internet Explorer и разрешить ActiveX
Завидное "постоянство" ;)
 

HoLoD

Новичок
В первом случае я искал универсальное решение, которое пригодится не только мне, а и всем юзерам, которые попадут сюда с яндекса, например.

Во втором случае, т.к. простого решения не было найдено и предложено, я описал решение, которое пригодится только мне. Может ещё кому-нибудь подойдёт.
 

MiksIr

miksir@home:~$
Для всех решения нет, это сразу сказали. Ибо проблема довольно актуальна. А для Вашего случая я вот что понять не могу.. раз это такой закрытый проект - откуда там свободная регистрация, что кто-то анонимно гадит.
 

Krishna

Продался Java
Аффтар, может хватить уже аццки отжыгать? Стенка ждёт! :)
 

jonjonson

Охренеть
Автор оригинала: HoLoD
Ясно, я топаю с этого форума.
Кто бы сомневался. Тебе же не решение нужно, а потрындеть на предмет высоких технологий.
И тебе похрену, что данный раздел форума неподходит ни под JavaScript, ни под ActivX.
Можешь порассуждать где на другом форуме.

Да, ещё. Я не знаю ни одного проекта, для которого нужно бы было так фантазировать по поводу защиты. Видимо сильно тебя обидели юзеры. Так может поискать причину в себе и найти правильное решение, а не злобно фантазировать о "крутых" решениях в вакууме? :)
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
HoLoD
Уж очень сомневаюсь, что Ваш ресурс настолько уникален, что юзера будут терпеть такое издевательство над собой... Бред.

jonjonson
+1
 

sal

Новичок
HoLoD

"Ну что, спецы, что вы теперь скажете на такой вариант защиты? Думаю все вопросы и сомнения сразу отпали по поводу стойкости такой системы"

Даже не являясь профессионалом, могу сказать, что стойкость никакая.

Во-первых, кто мешает злоумышленнику перехватить пакеты соседей и узнать их DES(MAC, secret)?

Во-вторых, что мешает написать небольшой прокси, который будет в моих пакетах заменять DES(MAC, secret) на соседовский, а answer=md5(secret+N) оставлять без изменений?

В-третьих, что мешает, даже не зная DES(MAC, secret) соседа пихать туда всякий мусор и отдавать правильный secret?
 

dimagolov

Новичок
Автор оригинала: sal
В-третьих, что мешает, даже не зная DES(MAC, secret) соседа пихать туда всякий мусор и отдавать правильный secret?
ну как раз это легко пофиксить - в криптованную часть можно включать N и если после расшифровки N не коррктно, то считаем сессию испорченной.
 

ys

отодвинутый новичок
HoLoD

Можно тупой вопрос?
А что делать, если, например, у меня нет MAC адреса (совсем) :)
 
Сверху