Автор |
Сообщение |
kozlov
Гость
|
proxy_rd build 890
Маленький прокси сервер, созданный для обхода фильтров корпоративных сетей с помощью модификации HTTP заголовков и перенаправления запросов. Гибко конфигурируется скриптом на Си подобном языке. Преимущественно создавался для работы с web прокси скриптами, но тем не менее прекрасно справляется с перенаправление модифицированных запросов как на прямую к конечному серверу, так и на другие прокси сервера включая самого себя запущенного на удалённой машине слегка кодируя трафик между экземплярами. Эта программа не панацея от фильтров! Все зависит от ваших знаний и конфигурационного скрипта, который вы напишете, а ещё от грамотности админа, который настраивал фильтры. Скрипт не безопасен. Утечки памяти программа не отслеживает. Будте внимательны, что и какой переменной вы присваиваете. Эту программу вы используете на свой страх и риск! После скачивания файл переименовать в .zip!
|
|
|
К началу |
|
 |
Alex57
Newbee

Зарегистрирован: 03.09.2008
Сообщения: 3
|
|
К началу |
Профиль Сообщение |
 |
chAlx
Moderator

Зарегистрирован: 30.06.2004
Сообщения: 2634
Откуда: SPb
|
Alex57: в Гугле ;)
Вроде реальная программа, а описание как у трояна: всё будет супер, только скачайте, переименуйте и распакуйте.. Напрашивается вопрос: "Скачал, переименовал файл в '.zip' -- корпоративная сеть не обходится. Что я делаю не так?"
|
|
|
К началу |
Профиль Сообщение |
 |
qqq
Гость
|
|
К началу |
|
 |
Alex57
Newbee

Зарегистрирован: 03.09.2008
Сообщения: 3
|
Что-то боязно эту программу запускать. Скачал ее, но не распаковывал. Очень мало про нее инфы. Буду ждать отзывов
|
|
|
К началу |
Профиль Сообщение |
 |
qqq
Гость
|
На самом деле трояна здесь никакого нет и программа сама по себе обходить корпоративный прокси не будет, это всего лишь инструмент для модификации исходящих HTTP заголовков.
У меня в организации прокси режет много сайтов по ключевым словам типа shop, но разрешает доступ к сайтам, в адресе которых содержится слово analit. Чтобы автоматически добавлять это слово ко всем адресам я использую скрипт:
Код: |
// in parameters
extern char *method, *protocol, *uri_full, *uri_relative, *uri_full_encoded;
extern char *host, *port, *build, *h_hostport, *h_unknown, *h_cookie, *h_accept;
extern char *h_accept_lang, *h_accept_charset, *h_if_mod_since, *h_if_none_match;
extern char *h_referer, *h_user_agent, *h_proxy_connection, *h_keep_alive;
extern char *h_authorization, *h_cache_control, *h_pragma, *h_range, *h_content_type;
extern char *h_content_length, *scheme, *authority, *path, *query, *fragment;
extern unsigned long options;
// out parameters
extern char *header, *rdhost, *rdport;
if(isempty(host))
{
msg("proxy_rd debug msg", "strange: host not defined!");
}
if(options & 0x04)
{
// connect method no need header - exit
// via over proxy - need!
// goto lb_exit;
}
// connect to host through other proxy with modified uri
rdhost = dup("proxy.intranet.ru");
rdport = dup("8080");
add(&header, method);
add(&header, " ");
add(&header, uri_full);
if(isempty(fragment))
{
if(!isempty(query))
{
add(&header, "&");
}
else
{
add(&header, "?");
}
}
add(&header, "analit "); // magic keyword allowed by proxy firewall
add(&header, protocol);
add(&header, "\r\n");
if(!isempty(h_hostport))
{
add(&header, "Host: ");
add(&header, h_hostport);
add(&header, "\r\n");
}
add(&header, "Proxy-Connection: close\r\n");
add(&header, "Connection: close\r\n");
if(!isempty(h_cache_control))
{
add(&header, "Cache-Control: ");
add(&header, h_cache_control);
add(&header, "\r\n");
}
if(!isempty(h_pragma))
{
add(&header, "Pragma: ");
add(&header, h_pragma);
add(&header, "\r\n");
}
if(!isempty(h_accept))
{
add(&header, "Accept: ");
add(&header, h_accept);
add(&header, "\r\n");
}
if(!isempty(h_accept_lang))
{
add(&header, "Accept-Language: ");
add(&header, h_accept_lang);
add(&header, "\r\n");
}
if(!isempty(h_accept_charset))
{
add(&header, "Accept-Charset: ");
add(&header, h_accept_charset);
add(&header, "\r\n");
}
if(!isempty(h_if_mod_since))
{
add(&header, "If-Modified-Since: ");
add(&header, h_if_mod_since);
add(&header, "\r\n");
}
if(!isempty(h_if_none_match))
{
add(&header, "If-None-Match: ");
add(&header, h_if_none_match);
add(&header, "\r\n");
}
if(!isempty(h_referer))
{
add(&header, "Referer: ");
add(&header, h_referer);
add(&header, "\r\n");
}
if(!isempty(h_user_agent))
{
add(&header, "User-Agent: ");
add(&header, h_user_agent);
add(&header, "\r\n");
}
if(!isempty(h_authorization))
{
add(&header, "Authorization: ");
add(&header, h_authorization);
add(&header, "\r\n");
}
if(!isempty(h_range))
{
add(&header, "Range: ");
add(&header, h_range);
add(&header, "\r\n");
}
if(!isempty(h_content_type))
{
add(&header, "Content-Type: ");
add(&header, h_content_type);
add(&header, "\r\n");
}
if(!isempty(h_content_length))
{
add(&header, "Content-Length: ");
add(&header, h_content_length);
add(&header, "\r\n");
}
if(!isempty(h_cookie))
{
add(&header, "Cookie: ");
add(&header, h_cookie);
add(&header, "\r\n");
}
add(&header, h_unknown);
add(&header, "\r\n");
//msg("proxy_rd: debug message", header);
lb_exit:
|
Он превращает:
example.com в example.com?analit
example.com?q=123 в example.com?q=123&analit
Результат работы скрипта:
header - заголовок, который передаём
rdhost - хост, на который передаём
rdport - порт, на который передаём
Код скрипта неуправляемый (unmanaged code), т.е. утечки памяти и по какому адресу пишутся данные не контролируется программой. Поэтому внимамательно пишите код, если конечно будете писать  )
|
|
|
К началу |
|
 |
Partyzan
Platinum Member

Зарегистрирован: 15.02.2005
Сообщения: 319
|
Формат файла конфигурации - это для маньяков-системщиков. Ужас-ужас.
|
|
|
К началу |
Профиль Сообщение |
 |
|
|
Следующая тема
Предыдущая тема
Вы можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
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
|