Как обойти идентификацию через Canvas Fingerprinting?
Re: Как обойти идентификацию через Canvas Fingerprinting?
Стоит версия 4.10.9 (настройки http://joxi.ru/Y2LpLPRF9blpY2). Захожу на https://browserleaks.com/canvas выдает 6640BD9D, потом выполняю код:
$browser->set_screen_resolution(2560,1440,24);
$browser->set_language("en-US");
$browser->set_canvas_toDataURL("data : ".$submitter->generate_random_text(10,1));
$browser->enable_fonts(false);
$browser->set_plugins_info("[{name:'Shockwave Flash', description : 'Shockwave Flash 24.0 r0', filename : 'Flash.ocx', version : '24.0.0.194' },{ name:'name2', description : 'desc2', filename : 'filename2' }]");
$browser->navigate("https://browserleaks.com/canvas");
Но Signature остается тем же 6640BD9D.
Под Фаерфокс есть плагин Canvas Defender который умеет рандомно менять этот параметр. На Хумане никак не могу добиться изменений...
$browser->set_screen_resolution(2560,1440,24);
$browser->set_language("en-US");
$browser->set_canvas_toDataURL("data : ".$submitter->generate_random_text(10,1));
$browser->enable_fonts(false);
$browser->set_plugins_info("[{name:'Shockwave Flash', description : 'Shockwave Flash 24.0 r0', filename : 'Flash.ocx', version : '24.0.0.194' },{ name:'name2', description : 'desc2', filename : 'filename2' }]");
$browser->navigate("https://browserleaks.com/canvas");
Но Signature остается тем же 6640BD9D.
Под Фаерфокс есть плагин Canvas Defender который умеет рандомно менять этот параметр. На Хумане никак не могу добиться изменений...
Re: Как обойти идентификацию через Canvas Fingerprinting?
В папке Test Samples есть пример :
По https://browserleaks.com/canvas посмотрим тоже
Код: Выделить всё
<?php
// подключим объект для управления эмулятором, если еще не подключен
if (!isset($path))
$path="../../../Templates/xweb_human_emulator.php";
require($path);
// начало
echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>";
// 10 случаных canvas finger print
for ($i=0;$i<10;$i++)
{
// 1
echo "1. Зададим информацию о экранном сенсоре : ";
echo $browser->set_canvas_toDataURL("data : ".$submitter->generate_random_text(10,1))."<br>";;
// 2
echo "2. Перейдем на страницу для детектирвоания браузера : ";
echo $browser->navigate("panopticlick.eff.org/results?&t=111&dnt=111&a=111#fingerprintTable")."<br>";
$anchor->click_by_name("showFingerprintLink2");
sleep(1);
$td->get_by_inner_text("Hash of canvas fingerprint",false)->focus();
sleep(7);
$browser->navigate("about:blank");
}
// 3
echo "3. Зададим информацию о экранном сенсоре по умолчанию: ";
echo $browser->set_canvas_toDataURL()."<br>";
// 4
echo "4. Перейдем на страницу для детектирвоания браузера : ";
echo $browser->navigate("panopticlick.eff.org/results?&t=111&dnt=111&a=111#fingerprintTable")."<br>";
$anchor->click_by_name("showFingerprintLink2");
sleep(1);
$td->get_by_inner_text("Hash of canvas fingerprint",false)->focus();
// конец
echo "<hr><br>";
// Quit
$app->quit();
?>
Re: Как обойти идентификацию через Canvas Fingerprinting?
там по другому просто считается этот код - https://browserleaks.com/js/canvas.js- нужно переопределить соответсвующую функцию, сделаем в следующей версии
Re: Как обойти идентификацию через Canvas Fingerprinting?
И добавьте ещё функцию $browser->set_fonts();
Чтобы можно было вызвать $browser->set_fonts(['Arial','Tahoma','Verdana','Lucida Console','Courier New']);
Чтобы можно было вызвать $browser->set_fonts(['Arial','Tahoma','Verdana','Lucida Console','Courier New']);
Re: Как обойти идентификацию через Canvas Fingerprinting?
$browser->enable_fonts();
https://browserleaks.com/fonts
true - один номер
false - второй номер
Но больше они не меняются, все шрифты читаются
$browser->enable_activex();
https://whoer.net/#extended
false/true в обоих случаях включен
$browser->set_time_zone();
https://whoer.net/#extended
Показывает реальное время системы
$browser->enable_directx();
$browser->enable_gpu_rendering();
https://browserleaks.com/webgl
false/true в обоих случаях значения одинаковые WebGL Report Hash и WebGL Image Hash
$browser->enable_sounds();
$browser->enable_video();
http://detectmybrowser.com/
false/true в обоих случаях показываются реальные форматы поигрываемые для видео аудио
$browser->clear_cash();
$browser->clear_cookies("",true);
$browser->clear_history();
$browser->clear_address_bar_history();
$browser->flash_cookies_delete();
http://samy.pl/evercookie/ не трет их
http://ip-check.info тоже самое, ставит сигнатуру и не трет
$browser->set_plugins_info("[
{name:'Shockwave Flash', description : 'Shockwave Flash 24.0 r0', filename : 'NPSWF32_25_0_0_171.dll', version : 'WIN 25.0.0.171' },
{ name:'Silverlight', description : 'Silverlight 5.1.41212.0', filename : 'SilverLight.ocx' }
]");
http://www.pinlady.net/PluginDetect/All/
Как показывало все плагины так и показывает даже версии не меняет.
https://browserleaks.com/fonts
true - один номер
false - второй номер
Но больше они не меняются, все шрифты читаются
$browser->enable_activex();
https://whoer.net/#extended
false/true в обоих случаях включен
$browser->set_time_zone();
https://whoer.net/#extended
Показывает реальное время системы
$browser->enable_directx();
$browser->enable_gpu_rendering();
https://browserleaks.com/webgl
false/true в обоих случаях значения одинаковые WebGL Report Hash и WebGL Image Hash
$browser->enable_sounds();
$browser->enable_video();
http://detectmybrowser.com/
false/true в обоих случаях показываются реальные форматы поигрываемые для видео аудио
$browser->clear_cash();
$browser->clear_cookies("",true);
$browser->clear_history();
$browser->clear_address_bar_history();
$browser->flash_cookies_delete();
http://samy.pl/evercookie/ не трет их
http://ip-check.info тоже самое, ставит сигнатуру и не трет
$browser->set_plugins_info("[
{name:'Shockwave Flash', description : 'Shockwave Flash 24.0 r0', filename : 'NPSWF32_25_0_0_171.dll', version : 'WIN 25.0.0.171' },
{ name:'Silverlight', description : 'Silverlight 5.1.41212.0', filename : 'SilverLight.ocx' }
]");
http://www.pinlady.net/PluginDetect/All/
Как показывало все плагины так и показывает даже версии не меняет.
Последний раз редактировалось huligun 11 май 2017, 23:36, всего редактировалось 1 раз.
Re: Как обойти идентификацию через Canvas Fingerprinting?
По
Проверьте пример :
работа самих активикс блокируется корректно.
whoer - Неверно показывает информацию о том что активикс включен.
Проверьте пример :
Код: Выделить всё
<?phpобъект для управления эмулятором, если еще не подключен
if (!isset($path))
$path="../../../Templates/xweb_human_emulator.php";
require($path);
// начало
echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>";
// 1
echo "1. Разрешим ActiveX : ";
echo $browser->enable_activex(true)." ";
echo $browser->is_enable_activex()."\n";
// 2
echo "2. Перейдем на страницу с активиксами : ";
echo $browser->navigate("http://www.youtube.com")."<br>";
// 3
echo "3. Запретим ActiveX : ";
echo $browser->enable_activex(false)." ";
echo $browser->is_enable_activex()."\n";
// 4
echo "4. Перейдем на страницу с активиксами : ";
echo $browser->navigate("http://www.anidub.com")."<br>";
// конец
echo "<hr><br>";
// Quit
$app->quit();
?>
Re: Как обойти идентификацию через Canvas Fingerprinting?
звуки и видео команды отключают, а за информацию о доступных форматах отвечают функции HTML5 - их можно поменять через set_init_java_script$browser->enable_sounds();
$browser->enable_video();
http://detectmybrowser.com/
false/true в обоих случаях показываются реальные форматы поигрываемые для видео аудио
Re: Как обойти идентификацию через Canvas Fingerprinting?
функция меняет только информацуию о часовом поясе - время она не трогает
Re: Как обойти идентификацию через Canvas Fingerprinting?
Можно решить так :$browser->enable_directx();
$browser->enable_gpu_rendering();
https://browserleaks.com/webgl
false/true в обоих случаях значения одинаковые WebGL Report Hash и WebGL Image Hash
// 1
echo "1. Включить слежение за http : ";
echo $raw->enable_all_streams(true)."<br>";
// 2
echo "2. Очистим массивы запрещенных урлов : ";
echo $raw->clear_disabled_response_urls_array()."\n";
// 3
echo "3. Добавим запрет на отгрузку : ";
echo $raw->add_disabled_response_url("canvas.js")."\n";
// 4
echo "4. Перейдем на проверку canvas finger print : ";
echo $browser->navigate("https://browserleaks.com/canvas")."\n";
После этого механизм определения будет совсем заблокирован
Re: Как обойти идентификацию через Canvas Fingerprinting?
эта функция просто отключает шрифты и включает - при отключении у всех будет одинаковый ай-ди и на отпечаток это уже не тянет, хотя будем еще в направлении шрифтов работать и вообще в направлениии отпечатков$browser->enable_fonts();
https://browserleaks.com/fonts
true - один номер
false - второй номер
Но больше они не меняются, все шрифты читаются
Re: Как обойти идентификацию через Canvas Fingerprinting?
Это проверим и вообще все другое что было в последнем посте от вас и создадим если нужно новые возможности.$browser->clear_cash();
$browser->clear_cookies("",true);
$browser->clear_history();
$browser->clear_address_bar_history();
$browser->flash_cookies_delete();
http://samy.pl/evercookie/ не трет их
http://ip-check.info тоже самое, ставит сигнатуру и не трет
Спасибо.
Пока рекомендуем использовать set_init_java_script и raw.
Re: Как обойти идентификацию через Canvas Fingerprinting?
Добавил в первый пост, но ма ло ли не заметите, так продублирую
$browser->set_plugins_info("[
{name:'Shockwave Flash', description : 'Shockwave Flash 24.0 r0', filename : 'NPSWF32_25_0_0_171.dll', version : 'WIN 25.0.0.171' },
{ name:'Silverlight', description : 'Silverlight 5.1.41212.0', filename : 'SilverLight.ocx' }
]");
http://www.pinlady.net/PluginDetect/All/
Как показывало все плагины так и показывает даже версии не меняет.
$browser->set_plugins_info("[
{name:'Shockwave Flash', description : 'Shockwave Flash 24.0 r0', filename : 'NPSWF32_25_0_0_171.dll', version : 'WIN 25.0.0.171' },
{ name:'Silverlight', description : 'Silverlight 5.1.41212.0', filename : 'SilverLight.ocx' }
]");
http://www.pinlady.net/PluginDetect/All/
Как показывало все плагины так и показывает даже версии не меняет.
Re: Как обойти идентификацию через Canvas Fingerprinting?
А что там должно быть заблокировано, страница http://www.anidub.com работает как при true так и falsebigfozzy писал(а):По
whoer - Неверно показывает информацию о том что активикс включен.
Проверьте пример :
работа самих активикс блокируется корректно.Код: Выделить всё
<?phpобъект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>"; // 1 echo "1. Разрешим ActiveX : "; echo $browser->enable_activex(true)." "; echo $browser->is_enable_activex()."\n"; // 2 echo "2. Перейдем на страницу с активиксами : "; echo $browser->navigate("http://www.youtube.com")."<br>"; // 3 echo "3. Запретим ActiveX : "; echo $browser->enable_activex(false)." "; echo $browser->is_enable_activex()."\n"; // 4 echo "4. Перейдем на страницу с активиксами : "; echo $browser->navigate("http://www.anidub.com")."<br>"; // конец echo "<hr><br>"; // Quit $app->quit(); ?>
А по сути только одной этой проверкой можно забанить хуман и все танцы с юзерагентами уже не нужны
Re: Как обойти идентификацию через Canvas Fingerprinting?
Можно и javascript запретить, ))) задача же эмулировать среднестатистического УНИКАЛЬНОГО юзера у которого все эти функции открыты.bigfozzy писал(а):Можно решить так :$browser->enable_directx();
$browser->enable_gpu_rendering();
https://browserleaks.com/webgl
false/true в обоих случаях значения одинаковые WebGL Report Hash и WebGL Image Hash
// 1
echo "1. Включить слежение за http : ";
echo $raw->enable_all_streams(true)."<br>";
// 2
echo "2. Очистим массивы запрещенных урлов : ";
echo $raw->clear_disabled_response_urls_array()."\n";
// 3
echo "3. Добавим запрет на отгрузку : ";
echo $raw->add_disabled_response_url("canvas.js")."\n";
// 4
echo "4. Перейдем на проверку canvas finger print : ";
echo $browser->navigate("https://browserleaks.com/canvas")."\n";
После этого механизм определения будет совсем заблокирован
Re: Как обойти идентификацию через Canvas Fingerprinting?
По анидабу - плохой примео - там уже нет ActiveX - вот страничка - пощелкайте на картинках с включенной и выключенной опцией :А что там должно быть заблокировано, страница http://www.anidub.com работает как при true так и false
А по сути только одной этой проверкой можно забанить хуман и все танцы с юзерагентами уже не нужны
http://www.adobe.com/devnet/flash/artic ... flash.html