Мой дневник

31.07.2017

Как получить доступ к flickr.com

Filed under: Uncategorized — sae762 @ 10:54

Background:

при создании TLS сессии современные браузеры вставляют имя хоста в первый пакет handshake. “Трищ майор” вылавливает этот нешифрованный пакет и блокирует соединение.

Хвала опенсорцу – это можно пофиксить в браузере и пересобрать! Для мозиллы (в моем случае версии 33 пол линух) это выглядит так:

качаем свою версию nss https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_16_2_3_RTM/src/nss-3.16.2.3-with-nspr-4.10.6.tar.gz

патчим:

sslsecur.c
SECStatus
SSL_SetURL(PRFileDesc *fd, const char *url)
{
sslSocket * ss = ssl_FindSocket(fd);
SECStatus rv = SECSuccess;

if (!ss) {
<——>SSL_DBG((“%d: SSL[%d]: bad socket in SSLSetURL”,
<——><——> SSL_GETPID(), fd));
<——>return SECFailure;
}
ssl_Get1stHandshakeLock(ss);
ssl_GetSSL3HandshakeLock(ss);

if ( ss->url ) {
<——>PORT_Free((void *)ss->url);<—>/* CONST */
}

//вот эту часть кода комментируем

// ss->url = (const char *)PORT_Strdup(url);
// if ( ss->url == NULL ) {
//<—->rv = SECFailure;
// }

ssl_ReleaseSSL3HandshakeLock(ss);
ssl_Release1stHandshakeLock(ss);

return rv;
}

затем пересобираем make nss_build_all

и заменяем в нашем браузере либы libssl3.so, libnssutil3.so и libnss3.so

вуаля! flickrнаш )

NB: а ведь можно такой патч сделать и для windows. кто возьмется?

UPD: для linux_x86_64: make nss_build_all USE_64=1

и достаточно заменить libssl3.so

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: