АРМАДА
Индификация пользователя
На страницу 1, 2  След.
Новая тема Написать ответ Advanced Hosters - профессиональный хостинг

Mr Frod +
Гуру
Зарегистрирован: 06.03.2007
Сообщений: 1247
Обратиться по нику
# Добавлено:Чт Май 03, 2007 11:27 pmДобавить в избранноеОтветить с цитатой
Подскажите, какие существуют способы индификации пользователя (юзера) кроме как по IP адресу и ранее установленному cookie.

Павлик Морозов
Banned
Зарегистрирован: 12.04.2006
Сообщений: 1332
Обратиться по нику
# Добавлено:Чт Май 03, 2007 11:51 pmОтветить с цитатой
ssl

Mr Frod +
Гуру
Зарегистрирован: 06.03.2007
Сообщений: 1247
Обратиться по нику
# Добавлено:Пт Май 04, 2007 12:17 amОтветить с цитатой
Приведу пример, что бы вопрос был более понятен:
Есть сайт, например форум или служба знакомств или еще что.
Посетитель регистрируется на сайте. При следующем посещении данной страницы сайт автоматически идентифицирует пользователя. При смене IP и чистке cookie, при очередном посещении сайта пользователь снова индифицируется. Какой механизм может использоваться в данной ситуации?
Загружаешь ролики на ютуб? $700 в сутки не предел http://goo.gl/rLhWe2

Павлик Морозов
Banned
Зарегистрирован: 12.04.2006
Сообщений: 1332
Обратиться по нику
# Добавлено:Пт Май 04, 2007 12:51 amОтветить с цитатой
ну по сертификату это конечно изврат )

brush
V.I.P.
Зарегистрирован: 29.09.2005
Сообщений: 2566
Обратиться по нику
# Добавлено:Пт Май 04, 2007 1:23 amОтветить с цитатой
отпечаток пальца, ага
автоматически - никак
к тебе не человек пришел, а терминал
большое спасибо за то что можно хоть логин-пароль спросить и куку дать
так нет, мало...
; )

Mr Frod +
Гуру
Зарегистрирован: 06.03.2007
Сообщений: 1247
Обратиться по нику
# Добавлено:Пт Май 04, 2007 1:29 amОтветить с цитатой
Интересно с технической точки зрения. Зарегистрировался на одном сайте, почистил cookie, зашел под другим IP - все равно определяет. Что может быть?

Единственное если через прокси-сервер заходишь (предварительно почистив cookie, ее тоже ставит) тогда не может определить.
Загружаешь ролики на ютуб? $700 в сутки не предел http://goo.gl/rLhWe2

Li-Hua
Чинамэн
Зарегистрирован: 25.12.2005
Сообщений: 11547
Обратиться по нику
# Добавлено:Пт Май 04, 2007 10:18 amОтветить с цитатой
Цитата:
зашел под другим IP




Если ты имеешь ввиду не прокси а динамический айпи провайдера, то может быть определяет как из одной подсетки.

Chin +
олорирропролл
Зарегистрирован: 29.01.2007
Сообщений: 2890
Обратиться по нику
# Добавлено:Пт Май 04, 2007 12:14 pmОтветить с цитатой
Элементарно. По браузеру Smile

Roby
Опытный
Зарегистрирован: 04.10.2005
Сообщений: 442
Обратиться по нику
# Добавлено:Пт Май 04, 2007 1:40 pmОтветить с цитатой
Да кажеться все возможные назвали... думаю если больше надо то надо изучить прграммуху PHP там наверное еще пару методов есть.

brush
V.I.P.
Зарегистрирован: 29.09.2005
Сообщений: 2566
Обратиться по нику
# Добавлено:Пт Май 04, 2007 3:27 pmОтветить с цитатой
Roby писал(а):
Да кажеться все возможные назвали... думаю если больше надо то надо изучить прграммуху PHP там наверное еще пару методов есть.

ой, расскажи пожалуйста подробнее?

Sender
V.I.P.
Зарегистрирован: 19.05.2006
Сообщений: 3806
Обратиться по нику
# Добавлено:Пт Май 04, 2007 6:32 pmОтветить с цитатой
Chin писал(а):
Элементарно. По браузеру Smile


Я могу другим браузером зайти, что я обычно и делаю, кроме того у лисы есть переключатель юзерагента. Да и язык на том браузере другой стоит.
HD Video - верный партнер! Защита от ЭМИ - энергия жизни

Chin +
олорирропролл
Зарегистрирован: 29.01.2007
Сообщений: 2890
Обратиться по нику
# Добавлено:Пт Май 04, 2007 9:05 pmОтветить с цитатой
Sender, юзерагент тут ни при чем. И язык. Хотя другой браузер поможет Smile Но надо быть хитрым Smile

Mr Frod +
Гуру
Зарегистрирован: 06.03.2007
Сообщений: 1247
Обратиться по нику
# Добавлено:Пт Май 04, 2007 11:12 pmОтветить с цитатой
Chin писал(а):
Элементарно. По браузеру Smile


Может быть. Определяет под оперой. Если можно подробнее.
Некоторые люди утверждают, что в данной ситуации не может определяь пользователя, кроме как по IP и cookie.

Chin +
олорирропролл
Зарегистрирован: 29.01.2007
Сообщений: 2890
Обратиться по нику
# Добавлено:Сб Май 05, 2007 12:22 amОтветить с цитатой
Mr Frod, поподробнее - ищи про т.н. "форумный супербан".
Я бы тебе описал подробнее, но сейчас уже сил нет и до 10го меня не будет Smile

Mr Frod +
Гуру
Зарегистрирован: 06.03.2007
Сообщений: 1247
Обратиться по нику
# Добавлено:Сб Май 05, 2007 4:39 amОтветить с цитатой
Спасибо. Кое что нашел.

Не знаю источник, но информация находится здесь
http://team-madalf.com/lofiversion/index.php/t12441.html
и здесь
http://vzlom-fakep.narod.ru/index.files/Page811.htm

Цитирую, что бы не напрягать тебя и может быть кому то еще будет интересна.

В статье рассматривается так называемый "супербан", в отличии от обычных методов бана, таких как бан по IP-адресу, по нику или по кукам, "супербан" блокирует пользователя по индивидуальным характеристикам его машины.



Система блокировки по индивидуальным харакетристикам машины в последнее время приобретает все больше популярности в интерактивных web-системах - в чатах, форумах, гостевых книгах и т.п. Рост популярности объясняется недостатками традиционных методов бана. Блокировка по IP адресу легко обходится использованием прокси-серверов. Блокировка по кукам или нику снимается удалением куков или созданием нового аккаунта. В то же время, обойти супербан не так легко, поскольку большинство пользователей даже не знают на каком принципе он основан.



В качестве примера супербана, рассмотрим систему бана, применяемую в форумах FastBB ( http://fastbb.ru ).



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



Вот этот скрипт:





<xml:namespace ns='http://www.microsoft.com/ie' prefix='IE'><STYLE>@media all{IE\:clientCaps {behavior:url(#default#clientcaps);}}</STYLE><IE:CLIENTCAPS ID="oClientCaps"><script Language="JavaScript">

var IeData = "";

var dd = new Date();

region = Math.round(dd.getTime() / 1000) - 1094027898;

var RandomNumber = 1094027898;

AllData = region+"/"+window.screen.width+"/"+window.screen.height+"/"+window.screen.colorDepth;



random_line="gsw~rn e}~DqheFdHmj] 7Lmceh,s]~es{M]lJw O}Lg5#&[email protected],hqD9Ut]F0~FjicMcJfk+b$=#V&)R"

+"'H^&&S)+N*PNjFr*$%(5o&&qS8RT#Nk\n#fcT'$O&%L(+qSNoj6NSR%,GU;dL(Fm�QT9P:#^h\r$g%T"

+";$M.NQj7o/#%)6p&dl;6ph#LSFM&NU:HM)e#g\n%:RN)!V.#%U%MSdM)INhNQU#^�L(KU&*M.6Rib!h"

+"<Q:NmS$Q dnU~Nh$MUK^QMqS+M&Ml(5n/#M.H&fa#i%P $o,KOh#N,$^*$o(+V;#Mj5MQML(GV*$l.[$"

+"eb$;!r Qn=5^S%US+N*PMjGRS)%(5M&RT(~N;$Qk\n#fcQS$p/Qp(+PU$Tj6NT#%,7NUdP/9R;^Q/5M&"

+"#^h\r$g:U,7M(#LjJoRP%)6oVdTT$Rh#LSFM&*m/8U)e#g\n%&:m(JRS#%/KoRdM)HrhMlS~^�P(6o/"

+"#T.~Rib!h<Q;Ql=~m&dl:!Vh$MV6^R*mX+M�LX$M;$Q)~&fa#iIq;MpV5MhMPTK^*$o)+V=&Tj5MS#P"

+"X%URNn'[$eb$:7p/RO)7^R#q +N*PLj%QQN%(5U&OS/HTU;Qk\n#fcP/GnQ:P:+oS*Mj6NSR%SFrQdL("

+"Fm�m 5N;N^h\r$g^lX8S(^LjFO/;%)6p*dm.Grh#L(5r #Q)~N;e#g\n%:&mTFU:#%UHR*dM)HrhMlX"

+"F^�lS5MR(L)~oib!h<oS%l'Gm&dOTIph$MV5^ %MW+Q:&Q.8R:#L(5&fa#i5UR#p.HMh&qUG^*$nX+m"

+"QMQj5M:#MU!M *L([$eb$ 5n:;p;9^S)nU+N*PLj$V;^%(5m&OU(8Q.Rqk\n#fcL;KV=:m:+MU#Lj6NT"

+"^%S9V dL(6M:NRWGR(Q^h\r$g#qVJNV*Rj5p;;%/Kp.dU 7QhQOVKSR&M'IMUe#g\n%*#L=7oUO%,Ho*"

+"dM)INh;T J^�l(HV;*m/7rib!h<NR#L=7RRdn/~Rh&oW!^RRm +mT*P(Fp:%SUI&fa#i9O.:n:#MhMN"

+" %^*$o)+n;Nqj5M�q,5R**M.[$eb$/9nRMT.~^SOQ)+N*OqjFmVM%(5mQ#LT!M**nk\n#fcPX!Q;%N("

+"+P&(oj6NT%%'%RTdL(HM:RU,GnS;^h\r$g*qV8V=OLjFT&M%)6p*dU'9Uh#LU5QV;TTGo=e#g\n%/^LT"

+"6pQ#%T9S;dM)INh;U/$^�n(9r=:mTHVib!h<SVMm'%p&dmSGUh$MV6^=;PS+M&OL/KV NmU%&fa#iHV"

+"U;l;9MhPMX6^*$o(+U($pj9Q:*Q;~Q&(L([$eb$V7TSPm J^QQRV+N*Oqj%SR:%/9Q;*O.9M�Lk\n#f"

+"траляля'7n&^lT+n.#Sj6NT%%'HnTdL(5MV:SS8S=Q^h 7jg{Gw4Lmcen\[email protected]\nyhnGrb4[+ws}Jt6An\n"

+"mi4iA H][email protected]]FA]wsf!qcKnaD]3Ut]F0:An\noa#Ut]FA]wsfYP#@,hqD9sf "

+"[email protected]$jdbEaDnf+b!h 7jg{Gw4Lmceo<[email protected]<zh.sf9Bq]yy\[email protected]\nBb:[c.sf;zv\nqb:@m.sc<zv;j+"

+"7so=po<zk)ff qj\nBo/@H.J-Dqz,GrzKy ww!so=p5/mb#oh,sjMqb$fi=uh;(k)h\n:so=p8/@e^[email protected]";

random_line2="@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!#$%^&*():;/. =,'{-}\r\n<+[]";



random = location.pathname;



if (random)

{

fin = ""; pos = 0;

for (i=0;i<random_line.length;i++)

{

first = random_line.charAt(i); second = random.charAt(pos);

fin+=random_line2.charAt((random_line2.indexOf(first)-random_line2.indexOf(second)+random_line2.length)%random_line2.length); pos = (pos+1)%random.length;

}

eval(fin);

fin=random_line2=random_line=random="";

}

var IeData = "/"+oClientCaps.connectionType+"/"+navigator.systemLanguage+"/"+navigator.browserLanguage+"/"+navigator.userLanguage+"/"+Rand­omNumber;

</script>

bla bla bla....

<form name=countform action="/re.pl" method=POST onsubmit="return Test(this)">

....

<SCRIPT Language="JavaScript">document.write("<input type=\"Hidden\" name=\"Statistic\" value=\""+AllData+IeData+"\">");</SCRIPT>

....

</form>



Сначала создается объект oClientCaps. Он необходим для доступа к параметрам машины. Далее вычисляются такие параметры как разрешение экрана и глубина цвета, которые также используются в составе ключа. Затем следует самая интересная часть. Строке random_line присваивается зашифрованный скрипт, который затем расшифровывается и выполняется в строке eval(fin);. При расшифровке используется переменная random = location.pathname;, которая в форуме fastBB принимает значение /re.pl.



Шифрование скрипта было, видимо, сделано для скрытия от пользователя принципа составления ключа.



Расшифровав содержимое строки random_line, мы получим следующий скрипт:





var bbb = new Array();var ccc = new Array(0,0,0,0);var CompO=new Array('{7790769C-0471-11D2-AF11-00C04FA35D02}','{89820200-ECBD-11CF-8B85-00AA005B4340}','{283807B5-2C60-11D0-A31D-00AA00B92C03}','{4F216970-C90C-11D1-B5C7-0000F8051515}','{44B­BA848-CC51-11CF-AAFA-00AA00B6015C}','{9381D8F2-0288-11D0-9501-00AA00B911A5}','{36F8EC70-C29A-11D1-B5C7-0000F8051515}','{5A8D6EE0-3E18-11D0-821E-444553540000}','{89820200-ECBD-­11CF-8B85-00AA005B4383}','{08B0E5C0-4FCB-11CF-AAA5-00401C608555}','{45EA75A0-A269-11D1-B5BF-0000F8051515}','{DE5AED00-A4BF-11D1-9948-00C04F98BBC9}','{22D6F312-B0F6-11D0-94AB-0­080C74C7E95}','{44BBA842-CC51-11CF-AAFA-00AA00B6015B}','{3AF36230-A269-11D1-B5BF-0000F8051515}','{44BBA840-CC51-11CF-AAFA-00AA00B6015C}','{CC2A9BA0-3BDD-11D0-821E-444553540000­}','{08B0E5C0-4FCB-11CF-AAA5-00401C608500}','{60B49E34-C7CC-11D0-8953-00A0C90347FF}','{03F998B2-0E00-11D3-A498-00104B6EB52E}','{0FDE1F56-0D59-4FD7-9624-E3DF6B419D0E}','{10072C­EC-8CC1-11D1-986E-00A0C955B42F}','{1B00725B-C455-4DE6-BFB6-AD540AD427CD}','{4278C270-A269-11D1-B5BF-0000F8051515}','{44BBA855-CC51-11CF-AAFA-00AA00B6015C}','{4F645220-306D-11D­2-995D-00C04F98BBC9}','{5FD399C0-A70A-11D1-9948-00C04F98BBC9}','{630B1DA0-B465-11D1-9948-00C04F98BBC9}','{6FAB99D0-BAB8-11D1-994A-00C04F98BBC9}','{C9E9A340-D1F1-11D0-821E-4445­53540600}','{D27CDB6E-AE6D-11CF-96B8-444553540000}','{E92B03AB-B707-11D2-9CBD-0000F87A369E}');



for(var iii=0;iii<CompO.length;iii++){var Ver=oClientCaps.getComponentVersion (CompO[iii],'ComponentID');var aaa = Ver.split(',');



for(var jjj=0;jjj<aaa.length;jjj++){aaa[jjj]++;aaa[jjj]--;ccc[jjj]+=aaa[jjj];var RandomNumber=ccc[0]+''+ccc[1]+''+ccc[2]+''+ccc[3];}}



Сначала создается объект oClientCaps. Он необходим для доступа к параметрам машины. Далее вычисляются такие параметры как разрешение экрана и глубина цвета, которые также используются в составе ключа. Затем следует самая интересная часть. Строке random_line присваивается зашифрованный скрипт, который затем расшифровывается и выполняется в строке eval(fin);. При расшифровке используется переменная random = location.pathname;, которая в форуме fastBB принимает значение /re.pl.



Шифрование скрипта было, видимо, сделано для скрытия от пользователя принципа составления ключа.



Расшифровав содержимое строки random_line, мы получим следующий скрипт:

var bbb = new Array();var ccc = new Array(0,0,0,0);var CompO=new Array('{7790769C-0471-11D2-AF11-00C04FA35D02}','{89820200-ECBD-11CF-8B85-00AA005B4340}','{283807B5-2C60-11D0-A31D-00AA00B92C03}','{4F216970-C90C-11D1-B5C7-0000F8051515}','{44B­BA848-CC51-11CF-AAFA-00AA00B6015C}','{9381D8F2-0288-11D0-9501-00AA00B911A5}','{36F8EC70-C29A-11D1-B5C7-0000F8051515}','{5A8D6EE0-3E18-11D0-821E-444553540000}','{89820200-ECBD-­11CF-8B85-00AA005B4383}','{08B0E5C0-4FCB-11CF-AAA5-00401C608555}','{45EA75A0-A269-11D1-B5BF-0000F8051515}','{DE5AED00-A4BF-11D1-9948-00C04F98BBC9}','{22D6F312-B0F6-11D0-94AB-0­080C74C7E95}','{44BBA842-CC51-11CF-AAFA-00AA00B6015B}','{3AF36230-A269-11D1-B5BF-0000F8051515}','{44BBA840-CC51-11CF-AAFA-00AA00B6015C}','{CC2A9BA0-3BDD-11D0-821E-444553540000­}','{08B0E5C0-4FCB-11CF-AAA5-00401C608500}','{60B49E34-C7CC-11D0-8953-00A0C90347FF}','{03F998B2-0E00-11D3-A498-00104B6EB52E}','{0FDE1F56-0D59-4FD7-9624-E3DF6B419D0E}','{10072C­EC-8CC1-11D1-986E-00A0C955B42F}','{1B00725B-C455-4DE6-BFB6-AD540AD427CD}','{4278C270-A269-11D1-B5BF-0000F8051515}','{44BBA855-CC51-11CF-AAFA-00AA00B6015C}','{4F645220-306D-11D­2-995D-00C04F98BBC9}','{5FD399C0-A70A-11D1-9948-00C04F98BBC9}','{630B1DA0-B465-11D1-9948-00C04F98BBC9}','{6FAB99D0-BAB8-11D1-994A-00C04F98BBC9}','{C9E9A340-D1F1-11D0-821E-4445­53540600}','{D27CDB6E-AE6D-11CF-96B8-444553540000}','{E92B03AB-B707-11D2-9CBD-0000F87A369E}');



for(var iii=0;iii<CompO.length;iii++){var Ver=oClientCaps.getComponentVersion (CompO[iii],'ComponentID');var aaa = Ver.split(',');



for(var jjj=0;jjj<aaa.length;jjj++){aaa[jjj]++;aaa[jjj]--;ccc[jjj]+=aaa[jjj];var RandomNumber=ccc[0]+''+ccc[1]+''+ccc[2]+''+ccc[3];}}



Как видим, в скрипте перебираются установленные компоненты системы (около 30 штук) и определяется их версия. Числовые значения версий складываются, и вычисляется величина RandomNumber, которая затем используется как часть составного ключа.



Составной ключ передается серверу в поле Statistic формы отправки постингов:

<form name=countform action="/re.pl" method=POST onsubmit="return Test(this)">

....

<SCRIPT Language="JavaScript">document.write("<input type=\"Hidden\" name=\"Statistic\" value=\""+AllData+IeData+"\">");</SCRIPT>

....

</form>

Результирующий ключ имеет такой вид (для данной машины):

-17/1024/768/32/modem/ru/ru/uk/13751804473136645

и включает в себя следующие элементы:

код региона (-17)

разрешение экрана (1024/768)

глубина цвета (32)

тип соединения (modem)

языки, установленные в системе (ru/ru/uk)

уникальный ключ версий компонент системы (13751804473136645)



Итак, алгоритм работы бана форума следующий: При возникновении ситуации бана (например постинг более 10 сообщений в минуту), система добавляет IP адрес и уникальный ключ в список бана.



Далее, если от пользователя поступает запрос, в котором присутствует либо забаненый IP, либо забаненый уникальный ключ, то система не разрешает доступ к форуму, а IP и ключ снова заносятся в бан-лист (если один из них изменился). Кроме того, уникальный ключ передается как через поле Statistic формы, так и запоминается и пересылается серверу в куках. Таким образом, происходит защита от возможного изменения пользователем параметров своей машины (например изменения разрешения экрана).



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



Для упрощения снятия бана, была разработана программа AntiBan. Эта программа позволяет разблокировать бан на форумах fastBB, в чатах chat.php.spb.ru и в других системах, основанных на "супербане".

Algol 1.09.2004
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ

Перейти:  





Генеральный спонсор



Партнеры