HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Избранное
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #161  
Старый 11.03.2010, 23:56
djazatik
Участник форума
Регистрация: 21.04.2009
Сообщений: 173
Провел на форуме:
1756993

Репутация: 249
Отправить сообщение для djazatik с помощью ICQ
По умолчанию

уфф, еле разобрался))
Очень пригодилось, спасибо автору)
 
Ответить с цитированием

  #162  
Старый 12.03.2010, 00:08
gluke
Banned
Регистрация: 06.06.2008
Сообщений: 96
Провел на форуме:
2478825

Репутация: 129
Отправить сообщение для gluke с помощью ICQ
По умолчанию

UM9I
А конкретнее?
Файрвол? Не?
Сервер точно поддерживает исходящие соединения?
 
Ответить с цитированием

  #163  
Старый 12.03.2010, 00:18
UM9I
Новичок
Регистрация: 15.01.2006
Сообщений: 7
Провел на форуме:
15513

Репутация: 0
По умолчанию

Насчот удалённой машини незнаю.
удалось зальить шелл, и теперь питаюсь pproxy поставить . . . (think)
 
Ответить с цитированием

  #164  
Старый 12.03.2010, 15:25
Bitman
Новичок
Регистрация: 08.03.2010
Сообщений: 1
Провел на форуме:
1344

Репутация: 0
По умолчанию

Хотелось бы реализовать сжатие на стороне сервера и распаковку принятых данных в клиенте. На сервере сжимаю в gzip, но как потом сделать декомпресс в клиенте? Кто-нибудь пытался сделать подобное?
 
Ответить с цитированием

  #165  
Старый 13.03.2010, 15:51
yasya17
Новичок
Регистрация: 25.01.2010
Сообщений: 4
Провел на форуме:
5281

Репутация: 0
По умолчанию

Цитата:
Сообщение от bons  
можно поставить собаку перед функцией explode
Код:
list($host, $port) = @explode(':', base64_decode($_POST['host']));
Помогла следующая коррекрировка:
@list($host, $port) = @explode(':', base64_decode($_POST['host']));
 
Ответить с цитированием

  #166  
Старый 13.03.2010, 18:53
Nek1t
Участник форума
Регистрация: 07.03.2008
Сообщений: 141
Провел на форуме:
405538

Репутация: 23
Arrow

Цитата:
Сообщение от yasya17  
А как насчёт прикрутить к этому прокси поддержку FTP?
Удваиваю, было бы отлично.
 
Ответить с цитированием

  #167  
Старый 24.03.2010, 21:22
c0m
Познающий
Регистрация: 26.01.2007
Сообщений: 40
Провел на форуме:
191945

Репутация: 7
По умолчанию

у меня такая проблема не могу сделать цепочку
в батнике:
Код:
perl D:\wamp\www\plocal.pl -px ссылка1 -pwd index perl D:\wamp\www\plocal.pl -px ссылка2 -pwd indexdirect -tpx http://localhost:8008 -bp 8009
в строке пишет

# tunnelhost = localhost
# tunnelport = 8008
# pproxyhost = ссылка2
# pproxyport = 80
# pproxyurl = соответственно путь к файлу2
# bindport = 8009

подключаюсь localhost:8009 пишет Could not connect to pproxy
по отдельности все работает
 
Ответить с цитированием

  #168  
Старый 28.03.2010, 16:31
$Atlet$
Участник форума
Регистрация: 25.10.2008
Сообщений: 215
Провел на форуме:
2483773

Репутация: 78
Отправить сообщение для $Atlet$ с помощью ICQ
По умолчанию

Перезалейте плиз GUI от Nightmare с исходниками у кого осталось.
 
Ответить с цитированием

  #169  
Старый 15.05.2010, 08:56
Ctacok
Moderator - Level 7
Регистрация: 19.12.2008
Сообщений: 1,203
Провел на форуме:
5011696

Репутация: 2221


По умолчанию

Заработало сразу, без проблем.
Спасибо.
 
Ответить с цитированием

  #170  
Старый 27.07.2010, 01:23
just_panic
Новичок
Регистрация: 05.06.2010
Сообщений: 0
Провел на форуме:
18765

Репутация: 0
По умолчанию

Вот написал на C++ Builder'e локальную часть (plocal.pl).

Но почему то тяжёлые сайты не грузит, хотя на перловой версии всё норм.

Unin1.h

Код:
Code:
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include "IdCoderMIME.hpp"
#include 
#include 

struct HTTP_PROXY_DATA
{
    AnsiString remote_script;
    WORD       bind_port;
    unsigned int client_sock;
};
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
    TMemo *Memo;
    TLabel *Label1;
    TEdit *EPort;
    TEdit *EScript;
    TButton *BStart;
    TIdEncoderMIME *Base64Encode;
    TMemo *Memo1;
    void __fastcall BStartClick(TObject *Sender);
    void __fastcall FormCreate(TObject *Sender);
    void __fastcall FormDestroy(TObject *Sender);
private:	// User declarations
public:		// User declarations
    __fastcall TForm1(TComponent* Owner);
    HTTP_PROXY_DATA proxy_data;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
unit1.cpp

Код:
Code:
//---------------------------------------------------------------------------

#include 
#include 
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "IdCoderMIME"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------

DWORD WINAPI ProxyThread(LPVOID lpParam);

//---------------------------------------------------------------------------
void ParseHeader(char *header, int header_size, TStringList *header_lst)
{
    if(!header_lst) return;
    AnsiString  header_key = "", tmp;

    for(int i = 0; i Add(header_key);
            header_key = "";
        }
    }
}
//---------------------------------------------------------------------------
AnsiString RemoveHeaderVal(TStringList *header_lst, TStringList *remove_key)
{
    for(int i = 0; i Count; i++)
    {
        for(int j = 0; j Count; j++)
        {
            AnsiString rem;

            rem = remove_key->Strings[j];
            if(header_lst->Strings[i].SubString(0, rem.Length() + 1) == (rem + ':'))
            {
                header_lst->Delete(i);
                i--;
                break;
            }
        }
    }
    return header_lst->Text + "\r\n";
}
//---------------------------------------------------------------------------
AnsiString GetHeaderVal(TStringList *header_lst, AnsiString key)
{
    AnsiString  result;
    int flag = 0;

    for(int i = 0; i Count; i++)
    {
        result = header_lst->Strings[i].SubString(0, key.Length() + 1);
        if(result == (key + ':'))
        {
            result = header_lst->Strings[i].SubString(result.Length() + 1,
                            header_lst->Strings[i].Length());
            break;
        }
    }

    for(int i = 1; i bind_port);
    serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);

    res = bind(serv_sock, (sockaddr *)&serv_addr, sizeof(serv_addr));
    if(res == SOCKET_ERROR) return -1;

    listen(serv_sock, 100);
    //MessageBox(0, proxy_data->remote_script.c_str(), 0, 0);

    //цикл для клиентов
    while(1)
    {
        int size;
        size = sizeof(client_addr);

        client_sock = accept(serv_sock, (sockaddr *)&client_addr, &size);
        if(client_sock == SOCKET_ERROR) break;

        proxy_data->client_sock = client_sock;
        
        hThread = CreateThread(NULL, 0, ProxyThread, proxy_data, 0, NULL);
        if(hThread == INVALID_HANDLE_VALUE) break;
        CloseHandle(hThread);
    }
    closesocket(serv_sock);
    return 0;
}
//----------------------------------------------------------------------------
DWORD WINAPI ProxyThread(LPVOID lpParam)
{
    HTTP_PROXY_DATA *proxy_data = (HTTP_PROXY_DATA *)lpParam;
    SOCKET  client = proxy_data->client_sock;
    int     res, swap_len, cur;
    char    header[1024];
    AnsiString result_header, result_host, swap;
    TIdHTTP       *tunnel = new TIdHTTP(Form1);
    TStringStream *result = new TStringStream("");
    TStringList   *post   = new TStringList;
    TStringList   *header_lst = new TStringList;
    TStringList   *remove_key = new TStringList;

    //получаю хидер от браузера
    res = recv(client, header, sizeof(header), 0);
    if(res == SOCKET_ERROR || res == 0) return -1;

    ParseHeader(header, res, header_lst);
    //добавляю в хидер Connection: close
    header_lst->Insert(1, "Connection: close");

    //удаляю ключи
    remove_key->Add("Proxy-Connection");
    remove_key->Add("Keep-Alive");

    result_header = RemoveHeaderVal(header_lst, remove_key);
    //получаю host
    result_host = GetHeaderVal(header_lst, "Host");

    //перегоняю POST данные в base64
    result_header = Form1->Base64Encode->Encode(result_header);
    result_host   = Form1->Base64Encode->Encode(result_host);

    //с помощью TIdHTTP посылаю данные proxy.php
    post->Add("query=" + result_header);
    post->Add("host=" + result_host);
    tunnel->Post(proxy_data->remote_script, post, result);

//посылаю результат обратно браузеру
    swap     = result->DataString;
    swap_len = result->DataString.Length();
    cur = 0;
    Form1->Memo1->Lines->Add(swap);
    while(swap_len > 0)
    {
        res = send(client, (swap.c_str() + cur), swap_len, 0);
        if(res == 0) break;
        else if(res == SOCKET_ERROR) {
            Form1->Memo->Lines->Add("Ошибка при передачи данных браузеру");
            break;
        }
        swap_len -= res;
        cur += res;
    }

    delete tunnel, post, header_lst, remove_key, result;

    closesocket(client);
    return 0;
}
//----------------------------------------------------------------------------

void __fastcall TForm1::BStartClick(TObject *Sender)
{
    HANDLE hThread;

    proxy_data.remote_script = EScript->Text;
    proxy_data.bind_port     = EPort->Text.ToInt();

    hThread = CreateThread(0, 0, ServerProxyThread, &proxy_data, 0, 0);
    if(hThread == INVALID_HANDLE_VALUE)
    {
        Memo->Lines->Add("Не могу создать поток");
        return;
    }
    CloseHandle(hThread);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    WSADATA wsaData;

    if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
    {
        Memo->Lines->Add("WSAStartup error");
        return;
    }    
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
    WSACleanup();    
}
//---------------------------------------------------------------------------
М.б кто найдёт баг

вот исходники _http://slil.ru/29503509
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP 186 21.02.2010 02:41
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ