• XSS.stack #1 – первый литературный журнал от юзеров форума

winsock и tor | чета ля туплю памагити

premiumcat

ripper
КИДАЛА
Регистрация
19.10.2020
Сообщения
195
Реакции
47
Пожалуйста, обратите внимание, что пользователь заблокирован
нервы у меня, туплю жеска, памагите пожалуйста, есть ли у кого хотябы минимальный пример винсока и тора, общения клиент-сервер
ну я так понимаю задачу что мы запускаемс торыч на какам нибуд порту, потом сервервную программу

C:
  sockaddr_in server;
  server.sin_addr.S_un.S_addr = INADDR_ANY;
  server.sin_family = AF_INET;
  server.sin_port = htons(ПОРТ ТОРА);

и наш сервер терь живет в торе
у меня непонятки вообще во всём
да я наверное тупак, я знаю шо правда эта ест

но! мне очень очень хочется сделат
помогите советами или кодом, хоть чем нибудь все остальное сам
советы по теме:
как конфиг для сервера тора оформит
как запускат тор правильно с правильными параметрами на сервере
че делать клиенту, я понимаю шо тор тоже запускат

вообщем все что сможете, или захотите помогите пожалуйста
искренне прошу выгорел уже учень если вы понимаете о чем я

я не прошу инжектав, не прошу експлоитав, ничего не прошу сверхебучега
просто помогите чем сможете
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Что ты хочешь сделать? Отстук в тор админку?
не шо бы в торе висел сервак и я к нему подключался с клиенскага приложения, что бы по трубе туда сюды гонять данные
upd делаю чат для пацанов по тематике лечения животных, я буквально
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пишите хоть для начала нормально, а то когда читаешь такие топики, и делать ничего не хочется.
я бы с удовольствием, но нервы. прости пожалуйста
 
Пожалуйста, обратите внимание, что пользователь заблокирован
это шеллкод бираника тора?
как работает?
юпд: я понимаю как запускать шеллкод, но как им пользоваться в своем приложении, нихрена не понимаю если честно
 
C:
#include "stdafx.h"


#include <winsock2.h>


#include <ws2tcpip.h>


#define MSG_NOSIGNAL 0




#include <iostream>


#pragma comment(lib, "Ws2_32.lib")



int main()


{



    WSADATA wsaData;





    if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {


        std::cout << "WSAStartup failed.\n";


        system("pause");


        return 1;


}


    std::cout << " [*] Tor" << std::endl;


    std::cout << " [*] Connecting " << std::endl;



    SOCKET      Socket;


    SOCKADDR_IN SocketAddr;



    Socket = socket(AF_INET, SOCK_STREAM, 0);


    SocketAddr.sin_family = AF_INET;


    SocketAddr.sin_port = htons(9050);


    SocketAddr.sin_addr.s_addr = inet_addr("127.0.0.1");



    connect(Socket, (SOCKADDR*)&SocketAddr, sizeof(SOCKADDR_IN));



    char Req1[3] =


    {


        0x05, // SOCKS 5


        0x01, // One Authentication Method


        0x00  // No AUthentication


    };


    send(Socket, Req1, 3, MSG_NOSIGNAL);



    char Resp1[2];


    recv(Socket, Resp1, 2, 0);


    if (Resp1[1] != 0x00)


    {


        std::cout << " [*] Error Authenticating " << std::endl;


        return(-1); // Error


    }



    std::cout << " [*] Fetching... " << std::endl;


    char* Domain = "www.google.com";


    char  DomainLen = (char)strlen(Domain);


    short Port = htons(80);



    char TmpReq[4] = {


        0x05, // SOCKS5


        0x01, // CONNECT


        0x00, // RESERVED


        0x03, // DOMAIN


    };



    char* Req2 = new char[4 + 1 + DomainLen + 2];



    memcpy(Req2, TmpReq, 4);                // 5, 1, 0, 3


    memcpy(Req2 + 4, &DomainLen, 1);        // Domain Length


    memcpy(Req2 + 5, Domain, DomainLen);    // Domain


    memcpy(Req2 + 5 + DomainLen, &Port, 2); // Port



    send(Socket, (char*)Req2, 4 + 1 + DomainLen + 2, MSG_NOSIGNAL);



    delete[] Req2;



    char Resp2[10];


    recv(Socket, Resp2, 10, 0);


    if (Resp2[1] != 0x00)


    {


        std::cout << " [*] Error : " << Resp2[1] << std::endl;


        return(-1); // ERROR


    }



    std::cout << " [*] Connected " << std::endl;




    // Test with a HTTP GET Request


    std::cout << " [*] Testing with GET Request \n" << std::endl;


    char * request = "GET / HTTP/1.1\r\nHost: www.google.com\r\nCache-Control: no-cache\r\n\r\n\r\n";


    send(Socket, request, strlen(request), MSG_NOSIGNAL);


    char RecvBuffer[2048];


    int ndatalength;


    ndatalength = 1;



    while (ndatalength != 0) {


        if (ndatalength == -1)


        {


            std::cout << "error on connection" << std::endl;


            return 1;


        }


        ndatalength = recv(Socket, RecvBuffer, 2048, 0);



    }



    std::cout << RecvBuffer;



    return(0);





}
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх