Изменение идентификации браузера

Противодействие хакерским угрозам

Модераторы: Olej, adminn, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Изменение идентификации браузера

Непрочитанное сообщение Olej » 20 ноя 2019, 16:16

Olej писал(а):
20 ноя 2019, 15:17
Или URL в форме https://httpbin.org/user-agent возвратит нам именно интересующее значение User-Agent, переданное в запросе к серверу:

Код: Выделить всё

{
  "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36 OPR/65.0.3467.42"
}
Таким вот образом - User-Agent как его отсылает Perl:

Код: Выделить всё

olej@ACER:~$ GET http://httpbin.org/user-agent
{
  "user-agent": "lwp-request/6.36 libwww-perl/6.36"
}

Код: Выделить всё

olej@ACER:~$ GET https://httpbin.org/user-agent
{
  "user-agent": "lwp-request/6.36 libwww-perl/6.36"
}

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Изменение идентификации браузера

Непрочитанное сообщение Olej » 20 ноя 2019, 16:27

Olej писал(а):
20 ноя 2019, 16:16
Таким вот образом - User-Agent как его отсылает Perl:
А вот так - утилита wget:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/User-Agent$ wget -q -O- http://httpbin.org/user-agent
{
  "user-agent": "Wget/1.20.1 (linux-gnu)"
}

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/User-Agent$ wget -q -O- https://httpbin.org/get
{
  "args": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "identity", 
    "Host": "httpbin.org", 
    "User-Agent": "Wget/1.20.1 (linux-gnu)"
  }, 
  "origin": "193.28.177.125, 193.28.177.125", 
  "url": "https://httpbin.org/get"
}
И с возможностью произвольно сменить User-Agent:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/User-Agent$ wget -q -O- http://httpbin.org/user-agent -U xxxxz
{
  "user-agent": "xxxxz"
}

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Изменение идентификации браузера

Непрочитанное сообщение Olej » 20 ноя 2019, 17:18

Olej писал(а):
19 ноя 2019, 00:06
Или так:
Или вариант на Python с использованием нового модуля:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/User-Agent$ cat ua2.py 
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
import requests

try:
    response = requests.get( sys.argv[ 1 ], timeout = ( 5, 5 ) )
except requests.exceptions.ReadTimeout:
    print( 'Oops. Read timeout occured' )
except requests.exceptions.ConnectTimeout:
    print('Oops. Connection timeout occured!' )
except requests.exceptions.ConnectionError:
    print( 'Ooops. Seems like dns lookup failed..' )
except requests.exceptions.SSLException:
    print( 'Ooops. SSL exception!..' )
except requests.exceptions.HTTPError as err:
    print( 'Oops. HTTP Error occured' )
    print( err.response.getcode() )
except Exception as err:
    print( "Something gone wrong!" )
else:
    print( response.status_code )
    print( response.text )
    print( response.encoding )
    print( response )
Выполняем:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/User-Agent$ ./ua2.py https://httpbin.org/user-agent
200
{
  "user-agent": "python-requests/2.21.0"
}

None
<Response [200]>

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/User-Agent$ ./ua2.py https://httpbin.org/status/404
404

utf-8
<Response [404]>

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/User-Agent$ ./ua2.py https://httpbin.org/status/500
500

utf-8
<Response [500]>
Вложения
ua2.py
(795 байт) 108 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Изменение идентификации браузера

Непрочитанное сообщение Olej » 20 ноя 2019, 21:57

К последнему (на пока) вопросу:
Olej писал(а):
18 ноя 2019, 22:28
Вот оно! То же самое, что в предыдущем сообщении, но сменим в URL протокол: HTTP -> HTTPS

Код: Выделить всё

olej@astra:~/WORK/java$ java ua https://example.org
Exception in thread "main" javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1964)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1921)
        at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1904)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1420)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
...
Откуда?
Сравниваю Astra Linux CE (общего применения ОС, Debian 9 со своим DE Fly) и Astra Linux SE (защищённая ОС, с мандатным разграничением доступа):
- SE:

Код: Выделить всё

olej@astra:~$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
- CE:

Код: Выделить всё

olej@astra:~$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
Это 2 совершенно разные сборки OpenJDK: в CE это - сборка Debian 9, OpenJDK Team <openjdk@lists.launchpad.net>; в SE - это сборка партнёров-разработчиков Astra Linux - Лаборатория 50

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Изменение идентификации браузера

Непрочитанное сообщение Olej » 20 ноя 2019, 22:02

Olej писал(а):
20 ноя 2019, 21:57
Сравниваю Astra Linux CE (общего применения ОС, Debian 9 со своим DE Fly) и Astra Linux SE (защищённая ОС, с мандатным разграничением доступа):
Скомпилирую и сравню исходники Java-теста:

Код: Выделить всё

olej@astra:~/WORK$ ls -l *.class
-rw-r--r-- 1 olej olej 1260 Ноя 18 14:15 ua.0.class
-rw-r--r-- 1 olej olej 1272 Ноя 20 17:19 ua.class
Здесь 1-й файл - это байт-код откомпилированный ранее в SE, а 2-й - только-что в CE. Это разные файлы!

Код: Выделить всё

olej@astra:~/WORK$ file ua.class
ua.class: compiled Java class data, version 52.0 (Java 1.8)

olej@astra:~/WORK$ file ua.0.class
ua.0.class: compiled Java class data, version 55.0
Ну и сравнение выполнения ua.class каждого в своей системе:
- CE:

Код: Выделить всё

olej@astra:~/WORK$ java ua https://httpbin.org/get
{  "args": {},   "headers": {    "Accept": "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2",     "Host": "httpbin.org",     "User-Agent": "Java/1.8.0_212"  },   "origin": "193.28.177.125, 193.28.177.125",   "url": "https://httpbin.org/get"}
- SE ... всё то же:

Код: Выделить всё

olej@astra:~/WORK/User-Agent$ java ua https://httpbin.org/get
Exception in thread "main" javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1964)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1921)
...        
Вложения
ua.java
(706 байт) 114 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Изменение идентификации браузера

Непрочитанное сообщение Olej » 20 ноя 2019, 22:04

Olej писал(а):
20 ноя 2019, 22:02
- SE ... всё то же:
И вот для того, чтобы подстраховаться и удостовериться, сделаю чтение а). того же URL, б). так же HTTPS, в). на той же Astra Linux SE, г). в той же неизменно сетевой инфраструктуре ... но на языке Python:

Код: Выделить всё

olej@astra:~$ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> r = requests.get( 'https://httpbin.org/get' )
>>> print( r.status_code )
200
>>> print( r.text )
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.22.0"
  },
  "origin": "193.28.177.125, 193.28.177.125",
  "url": "https://httpbin.org/get"
}
Это в точности соответствует тому, что с этого URL читает Java приложение, но на Astra Linux CE.
Этот результат подтверждает что выбрасываемое runtime-исключение в Java приложении никак не обусловлено:
- защищённой системой Astra Linux SE;
- её сетевым стеком;
- никакими средствами защиты на пути сетевого трафика в системе, файерволами, правилами iptanles и т.п.
- никакими брандмауэрами и настройками на промежуточных хостах по всей трассе от localhost до URL
А обусловлено это исключительно сборкой + конфигурациями (может быть) JDK.

P.S. Краткие и вполне достаточные описания по использованию пакета requests:
Краткое руководство по библиотеке Python Requests
24.11.2018
Быстрый старт в библиотеке Requests
Руководство по работе с HTTP в Python. Библиотека requests
24 Дек. 2015
Стандартная библиотека Python имеет ряд готовых модулей по работе с HTTP.
- urllib
- httplib
Если уж совсем хочется хардкора, то можно и сразу с socket поработать. Но у всех этих модулей есть один большой недостаток - неудобство работы.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Изменение идентификации браузера

Непрочитанное сообщение Olej » 09 июл 2020, 14:49

Olej писал(а):
31 мар 2018, 18:09
https://addons.mozilla.org/en-US/firefo ... =extension
Как легко видеть, их там полно (313 шт.) на любой вкус...
Ещё раз возникла необходимость ... желание... под Firefox (да ещё и с включенным SOCKS плагином TOR MM3-ProxySwitch).
Установлю вот это: User-Agent Switcher and Manager by Ray
Например так:
Ваш IP адрес: 185.220.100.251
Имя вашего компьютера: tor-exit-12.zbau.f3netze.de
Операционная система: Microsoft Windows 7
Ваш браузер: Internet Explorer 11
Откуда вы: Germany
Ваш провайдер: Tor Exit

Ответить

Вернуться в «Безопасность»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость