Форумы Форум www.proxomitron.ru
Все о программе Proxomitron
Главная  • FAQ для форума  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Личные сообщения  •  Вход
 «ProxHTTPSProxy» — управиться с HTTPS в «Проксомитроне»
 Сайт -> Форумы » Другие программы
Следующая тема
Предыдущая тема

Новая тема  Ответить
Автор Сообщение
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Вт, Май 29 2012 21:23 Цитировать |  |  | 

Источник: http://prxbx.com/forums/showthread.php?tid=1618

Как фильтровать HTTPS-соединения в «Проксомитроне»

«ProxHTTPSProxy»
— программа, которая упрощает работу «Проксомитрона» по защищенному соединению — HTTPS.

Предыстория:

«Проксомитрон» может пропускать защищенные пакеты без изменений («SSL Pass-Thru»), расшифровать полностью и послать браузеру снова зашифрованное им (нужны библиотеки, сертификат и пометить в настройках "use ssleay..."), а также может расшифровать и послать браузеру простой http, после зашифровать снова на выходе к серверу(Half-SSL). Для последнего адрес надо вводить в виде http://https.. вместо https:// в строке браузера, помечать использование ssleay и openssl при этом не нужно.

В любом случае постоянно лезут окна, двух видов: предупреждения браузера и самого «Проксомитрона». От первых можно избавиться, разрешая для каждого нового сайта сертификат «Проксомитрона». Но иногда все равно выдает ошибку, зависит от браузера и сайта. Можно при этом добавить сайт в bypass либо пробовать зайти на сам домен, отсекая адрес после .com или типа того. Также можно пробовать вручную импортировать сайт в исключения. В общем, это все долго и трудно. Также для избавления от предупреждения «Проксомитрона» нужно нажать кнопку «Allow for session». Это все слабые решения.

Существуют фильтры, которые переводят https ссылки в вид http://https.. Долго разбираться, как их настроить, написать свои и вообще как они будут работать. Так что это не вариант тоже, хотя и возможность.

Кто еще не пробовал: бесполезно просто перенаправлять трафик с https на http командами $JUMP и $RDIR. Браузер это понимает и запрещает переход для защиты.

Как видите, совсем не просто фильтровать https. Хотя в нем и мало рекламы покамест. Другие программы тоже этого не делают на сегодня, из популярных — «Adguard» и «Admuncher» также бессильны.

Решение:

На том форуме один программист сделал прокси для «Проксомитрона». Он расшифровывает самостоятельно трафик, отправляет в «Проксомитрон» простой, потом шифрует на обратном пути из браузера и затем «Проксомитрона», опять превращая ответ в https. Так, по крайней мере, описано.

Работает так:

На каждый https-запрос возвращает браузеру (не «Проксомитрону»!) состояние "307 Moved Temporarily" с новым заголовком "Location" , содержащим http-версию запроса.

В отличие от $JUMP и $RDIR, этого оказывается достаточно, чтобы задурить браузер и заставить его думать, что все в порядке и перейти к переадресации без окна предупреждения и запрета.

Дальше браузер идет по этой ссылке через «Проксомитрон», который отправляет эту ссылку уже на выходе, а не входе (в браузер), в «ProxHTTPSProxy». Последний, в свою очередь, снова переводит самопальный запрос в https и отправляет в сеть. Из сети забирает по https страницу, расшифровывает, под видом http отправляет в браузер через «Проксомитрон». Какое-то время про https браузер не вспоминает, потому что видит только http.

Окон с предупреждениями «Проксомитрона» я не видел вообще. Но браузер требует один раз подтверждения для каждого сайта: хотя он уже должен думать, что на простом сайте, но все же просит подтвердить, так как имя сертификата всегда «Proxomitron», а домены сайтов разные. Объясните лучше, если это понимаете.

По этой схеме все равно желательно добавлять сертификат proxcert.pem в браузер (без него будет торчать «Неизвестный» со списком сайтов), им же пользуется «ProxHTTPSProxy». «Проксомитрон» тоже, но тут он ему не нужен.

Http ссылка от «ProxHTTPSProxy» не похожа на остальные тем, что на конце домена приписывается :443/. Подробнее читайте на том форуме. Но ничего особо важного тут нет.

Есть проблемы с логинами в «Гугле» и других сайтах. Видимо, не передает куки или еще что. Но что есть, то есть. Улучшите, если можете. Могут правила помочь в заголовках по этой части.

Установка:

Скачать вот это:

http://www.sendspace.com/file/i78y2c

http://www.4shared.com/archive/G9emBeoX/ProxHTTPSProxy.html

Обе ссылки на один файл. Это «ProxHTTPSProxy» — две версии в упаковке: на питоне и скомпилированная для «Windows».

Потом:

1. На http://www.python.org/download/ скачать и установить Python 2.7.3 Windows Installer (Windows binary -- does not include source) или Python 2.7.3 Windows X86-64 Installer (Windows AMD64 / Intel 64 / X86-64 binary [1] -- does not include source).

2. На http://slproweb.com/products/Win32OpenSSL.html скачать Win32 OpenSSL v1.0.1c — 16MB Installer (у меня с такой работает, для x64 качать другую версию). Установить.

3. Перезапустить компьютер.

4. В настройках «Firefox» или другого браузера, в разделе проксей поставить ручные настройки прокси и выставить такое:

HTTP-proxy: localhost порт 8192 (меняется в настройках «Проксомитрона»)
SSL-proxy: localhost порт 8192

(SSL-proxy: localhost on 8081 — не надо так, но тоже работать будет, это для теории — соединяет с «ProxHTTPSProxy»).

5. Запустить «ProxHTTPSProxy» (использую нескомпилированную версию с расширением .py — ProxHTTPSProxy.py, но можно и .exe использовать). Должно появиться черное окно.

6. Открыть «Проксомитрон» > Proxy > Add > 127.0.0.1:8081 > OK.

Выбрать Test и посмотреть, будет ли OK в обоих окнах.

7. Вставить в Headers «Проксомитрона» такие два правила:

Цитата:

[HTTP headers]
In = FALSE
Out = TRUE
Key = "ProxHTTPSProxy"
URL = "$URL(http://?++:443/\w) $SETPROXY(127.0.0.1:8081)"


Цитата:

[HTTP headers]
In = FALSE
Out = TRUE
Key = "ProxHTTPSProxy 2"
URL = "$URL(https://?+) $SETPROXY(127.0.0.1:8081)"


8. Из папки с «ProxHTTPSProxy» взять .pem-сертификат и импортировать его в браузер. Найти это в настройках просто.

9. Готово. Открыть https-сайт. Появится предупреждение. Сделать исключение для сертификата. Дальше должен открываться нормально и с фильтрованием.

Как проверить фильтрование

В фильтры страниц вставить такое правило:

Цитата:

[Patterns]
Name = "TEST"
Active = TRUE
URL = "\wworkflowy.com"
Limit = 20
Match = "id="billboard""
Replace = "style="display:none""


https://workflowy.com/

Сходить на сайт. Логин должен быть затерт.

Чтобы отключать переадресацию на «ProxHTTPSProxy», жать кнопку «Bypass».

Чтобы отключать переадресацию для отдельных ссылок и сайтов, которые подыхают в «ProxHTTPSProxy», добавлять конкретные ссылки в список «Bypass» «Проксомитрона». Тогда он их будет пропускать мимо и не будет отправлять на «ProxHTTPSProxy».

Все равно окна лезут, но по одному разу. Некоторые страницы, как и было указано, не логинятся и не работают. Надо добавлять их в «Bypass». В любом случае, на странице с логином фильтровать обычно нечего.

Пользуйтесь, кому надо.


Последний раз редактировалось: Adskilla (Вт, Май 29 2012 21:43), всего редактировалось 1 раз
К началу Профиль Сообщение Отправить e-mail
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Вт, Май 29 2012 21:42 Цитировать |  |  | 

Чтобы не торчало постоянно черное окно, загнать его в лоток программой «WInRoll», «4t tray minimizer» или другой.
К началу Профиль Сообщение Отправить e-mail
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2621
Откуда: SPb

СообщениеДобавлено: Ср, Май 30 2012 22:55 Цитировать |  |  | 

Круто!

Не зря ты столько разминался на флейме :)
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2621
Откуда: SPb

СообщениеДобавлено: Ср, Май 30 2012 23:00 Цитировать |  |  | 

Насчёт Гугла:

Цитата:
Гугол это воспринимает как хак и отвечает редиректом:
Код:
SSL cipher TLSv1 RC4-SHA (128 bits)
HTTP/1.1 200 OK
Refresh: 0;URL=https://mail.google.com/mail/
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
К началу Профиль Сообщение
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Ср, Май 30 2012 23:21 Цитировать |  |  | 

Потом поглядим, что можно сделать с гуглом. Там еще и реклама на https зашифрована, теги ее, то есть.

Стирается только так у меня:

Цитата:

[Patterns]
Name = "Kill google search ads on https 1 of 2"
Active = TRUE
URL = "\www.google.\wsearch"
Limit = 20
Match = "</script>"
Replace = "</textarea></script>"

[Patterns]
Name = "Kill google search ads on https 2 of 2"
Active = TRUE
URL = "\www.google.\wsearch"
Limit = 100
Match = "<script(?++)\1>"
Replace = "<script\1>document.write('<textarea cols="80" rows="40" name="whatever">');"



Тут прочитал:

http://www.database-expert.com/hacking_encrypted_html.pdf

Действительно, после такой добавки ловит все теги вообще шифрованные. А иначе в исходном коде показывает добавление style="display:none", но в «Firebug» он снова исчезает и заменяется гугловым. То есть, после обработки всей страницы со скриптами браузером страница воскресает.

Но после тех добавлений все насмерть затирает с гарантией даже на HTTPS.

Есть только одна проблема с этим: не могу никак ограничить фильтр только текстовым поиском гугла, не включая даже картинки. Только на слово google.ru или .com отзывается. При добавлении «search», которое видно в заголовках и строке браузера, уже не ловит ничего, то есть, нет соответствия. Там, очевидно, перенаправление какое-то происходит с изменением адреса на новый. Это видно по строке в браузере. Еще где-то читал про него как раз недавно, но вылетело из головы.

Покамест не придумал еще, как соответствие url сделать. Может, тут кто знает.
К началу Профиль Сообщение Отправить e-mail
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Ср, Май 30 2012 23:24 Цитировать |  |  | 

Цитата:
Гугол это воспринимает как хак и отвечает редиректом:


Пожалуй. Но мне хватило accounts-поддомен в bypass добавить и все. Там еще адсенс не завелся все равно.
К началу Профиль Сообщение Отправить e-mail
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Сб, Июн 09 2012 20:39 Цитировать |  |  | 

Цитата:
[Patterns]
Name = "Google"
Active = TRUE
URL = "$TYPE(htm)(www|encrypted).google.(*/)+{1}(intl/(*/)+{1}(^?)|search\?(^tbm=isch|*\&tbm=isch)|webhp|(^?))|hl="
Limit = 256
Match = "if\(c\&\&c.getElementById\)if\(typeof XMLHttpRequest!=d\)a=\"2\";"
Replace = "if (!0) { /* PROX: S-Spec If: ! Removed - (c&&c.getElementById) */ }"


Вот такое помогает адсенсы отфильтровать в гугле, но не работает с живым поиском, что не есть большая потеря.
К началу Профиль Сообщение Отправить e-mail
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2621
Откуда: SPb

СообщениеДобавлено: Вт, Июн 12 2012 20:37 Цитировать |  |  | 

{1} -- это сильно ;)
К началу Профиль Сообщение
HKLM
Newbee
Newbee


Зарегистрирован: 30.08.2008
Сообщения: 16
Откуда: Сибирь

СообщениеДобавлено: Вт, Июл 17 2012 05:55 Цитировать |  |  | 

Цитата:
Есть проблемы с логинами в «Гугле» и других сайтах. Видимо, не передает куки или еще что. Но что есть, то есть. Улучшите, если можете. Могут правила помочь в заголовках по этой части.


Нужно сделать еще одну проксю, которая будет стоять между Проксомитроном и браузером. Что бы зашифровывать обратно в HTTPS и скрывать сам факт редиректа.

Arrow Сообщите автору проги, может он что-то сообразит.
К началу Профиль Сообщение
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Вт, Июл 17 2012 12:29 Цитировать |  |  | 

Может и эта зашифровывать. Название сайта в сертификате все равно не будет каждый раз менять она. Так что это не имеет значения.

Можно в иксплорере, макстоне, аванте и других, которые на икслорер надеваются, полностью отключить проверки, если сертификат в хранилище вставить. Будет работать, как на обычном соединении.

В остальных так не сделать браузерах.

Программист тот давно скрылся и делать ничего не будет.
К началу Профиль Сообщение Отправить e-mail
HKLM
Newbee
Newbee


Зарегистрирован: 30.08.2008
Сообщения: 16
Откуда: Сибирь

СообщениеДобавлено: Вт, Июл 17 2012 13:40 Цитировать |  |  | 

Цитата:
Может и эта зашифровывать.

Как? Я имел ввиду не делать редирект на HTTP вообще, а только расшифровывать и обратно зашифровывать. Так: браузер--https2http--proxomirton--http2https--сайт. Если такое возможно.
А так, у меня, в опере 10 не на сертификате спотыкается, а скорее всего на том, что ссылка которую браузер запрашивает не соответствует и ловится это через куки (гугл, твиттер). Это все на фишинг похоже. А в Лисе, она хоть и ругается на сертификат, но после нажатия кнопки все же отправляет запрос, после чего происходит разрыв, так же как в опере.

Цитата:
Можно в иксплорере, макстоне, аванте и других, которые на икслорер надеваются, полностью отключить проверки, если сертификат в хранилище вставить. Будет работать, как на обычном соединении.


Как это сделать? там не принимает такие .pem файлы.
К началу Профиль Сообщение
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Ср, Июл 18 2012 02:09 Цитировать |  |  | 

Цитата:
Как?


Смысла нет это делать. «Опера» и Firefox будут всегда требовать подтверждение, если только не генерировать для каждого сайта сертификат с названием домена. Но этого не будет эта программа делать.

config.py — в этом файле поставить half_ssl = 0, а не 1, чтобы посылало зашифрованное в браузер. Что бессмысленно.

Цитата:
Как это сделать? там не принимает такие .pem файлы.


Могу прислать самодельную инструкцию.

Сейчас в личку напишу.
К началу Профиль Сообщение Отправить e-mail
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Ср, Июл 18 2012 02:22 Цитировать |  |  | 

Цитата:
Так: браузер--https2http--proxomirton--http2https--сайт.


Так не работает.

Браузер — «Проксомитрон»/«ProxHTTPSProxy» — «ProxHTTPSProxy» — интернет — «ProxHTTPSProxy» — «Проксомитрон» — браузер

«ProxHTTPSProxy» — интернет — здесь перенаправление на простую страницу, то есть, обращение к браузеру еще одно, но не стал писать его.

Запутанно смотрится, но работает же.
К началу Профиль Сообщение Отправить e-mail
HKLM
Newbee
Newbee


Зарегистрирован: 30.08.2008
Сообщения: 16
Откуда: Сибирь

СообщениеДобавлено: Ср, Июл 18 2012 04:28 Цитировать |  |  | 

Цитата:
Смысла нет это делать. «Опера» и Firefox будут всегда требовать подтверждение, если только не генерировать для каждого сайта сертификат с названием домена. Но этого не будет эта программа делать.

Проблема в том, что гуглемайл авторизацию не проходит. А так то у меня все работает, подтверждение не сильно мешают.

Цитата:
config.py — в этом файле поставить half_ssl = 0, а не 1, чтобы посылало зашифрованное в браузер. Что бессмысленно.

Поставил 0, авторизация гмайл прошла нормально, но конечно смысла нет так использовать.

Цитата:
Могу прислать самодельную инструкцию.

Сейчас в личку напишу.

Спасибо. Сделал, ИЕ теперь не просит подтверждений. С авторизацией гмайл все теже проблемы.
К началу Профиль Сообщение
Adskilla
Member
Member


Зарегистрирован: 25.04.2012
Сообщения: 43
Откуда: Россия

СообщениеДобавлено: Ср, Июл 18 2012 12:07 Цитировать |  |  | 

Не будет он, в общем, нормально в гугле сидеть через эти программы. Да и не надо этого.

Я без авторизации поиском пользуюсь. Так даже лучше. Меньше будут следить.

Лучше сделать для отдельных сайтов фильтрацию, как написано в инструкции, а не для всех https.
К началу Профиль Сообщение Отправить e-mail
HKLM
Newbee
Newbee


Зарегистрирован: 30.08.2008
Сообщения: 16
Откуда: Сибирь

СообщениеДобавлено: Сб, Июл 21 2012 08:38 Цитировать |  |  | 

Цитата:
Цитата:

[HTTP headers]
In = FALSE
Out = TRUE
Key = "ProxHTTPSProxy"
URL = "$URL(http://?++:443/\w) $SETPROXY(127.0.0.1:8081)"


Цитата:

Цитата:

[HTTP headers]
In = FALSE
Out = TRUE
Key = "ProxHTTPSProxy 2"
URL = "$URL(https://?+) $SETPROXY(127.0.0.1:8081)"


Подскажите аналогичные правила для HandyCache. В список условные прокси.
Первое вроде нормально работает ^https:// со вторым проблема. Если так :443/ то получаются ложные срабатывания на подобных URL:

http://site.com/fkgjdpkj/888888.php&http://site.com:443/fiogdoigioj
К началу Профиль Сообщение
olDjeka
Гость





СообщениеДобавлено: Сб, Окт 20 2012 02:00 Цитировать |  |  | 

Для Firefox и Chrome посмотрите здесь .
К началу
olDjeka
Гость





СообщениеДобавлено: Сб, Окт 20 2012 02:03 Цитировать |  |  | 

handycache.ru/forum/index.php?topic=471.msg36483#msg36483
К началу
negr
Гость





СообщениеДобавлено: Сб, Сен 13 2014 06:34 Цитировать |  |  | 

раньше у меня в окне ProxHttps-a при каждом сообщении на 443 порт что-то писалось, сейчас тишина.
Правила проверил, сертификаты сделал, заменил, в браузер импортнул.
Если прописать руками прокси - тест проходит. А вот при серфинге нет сообщений совсем.
Такое ощущение, что не фильтрует.
Может так должно быть?
К началу
negr
Гость





СообщениеДобавлено: Сб, Сен 13 2014 06:41 Цитировать |  |  | 

А нужно прописывать сертификат из папки проксомитрона или ProxHTTPSProxy?

Кстати, серт делал и установлена OpenSSL-Win64. может в этом ошибка?
К началу
Показать сообщения:      
 
Новая тема  Ответить

 Перейти:   




Следующая тема
Предыдущая тема
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


P o w e r e d b y p h p B B © p h p B B G r o u p :: T h e m e b a s e d o n FI T h e m e :: Часовой пояс: GMT + 3