Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: http....
GAMEINATOR forums > Soft, Hard и периферия > Hard & Soft
Fe1ix
Как "замутить" автоматизированный подбор имён файлов к закрытому http-серверу? узнать какие файлы, в каких каталогах? поидее просто узнать пути к файлам... т.е. если найти путь к файлу, его можно спокойно скачать...
http://files.gsc-game.com/

можно ли как-нибудь проверить? кроме ручного подбора smile.gif

известные файлы
http://files.gsc-game.com/stk/
stk_mp.exe, STK_MOD_PRES.exe , mod_pres.rar, stalker-ua-audio-trailer.mp3, xr3da.rar

http://files.gsc-game.com/ew/st/stk_arts.exe
http://files.gsc-game.com/ew/st/st.rar
V@NEK
php стандартными функциями, но достаточно медленно, c/с++ побыстрее, но придётся подумать.
Lekzd
Цитата(Felix-rus53 @ 24.07.2009, 13:33) *
Как "замутить" автоматизированный подбор имён файлов к закрытому http-серверу? узнать какие файлы, в каких каталогах? поидее просто узнать пути к файлам... т.е. если найти путь к файлу, его можно спокойно скачать...
http://files.gsc-game.com/

можно ли как-нибудь проверить? кроме ручного подбора smile.gif

известные файлы
http://files.gsc-game.com/stk/
stk_mp.exe, STK_MOD_PRES.exe , mod_pres.rar, stalker-ua-audio-trailer.mp3, xr3da.rar

http://files.gsc-game.com/ew/st/stk_arts.exe
http://files.gsc-game.com/ew/st/st.rar


Ну есть же всякие инспекторы сайтов и чужих ФТП

только вся проблема в том, что все эти проги засветят на серваке твои IP, DNS и все такое - и тебя там забанят - ибо будет слишком много подозрительных запросов с твоего компа

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


Хотя я сейчас подумал - пиши PHP скрипт, страничку с формой в которую будешь писать имя директории на сервере

создавай новый сайт на чужом серваке - 110mb.com например - там и php есть и за бесплатно

сиди на этом сайте и смотри, что скрипт тебе выдаст
centrino
Цитата(Lekzd @ 24.07.2009, 13:38) *
только вся проблема в том, что все эти проги засветят на серваке твои IP, DNS и все такое - и тебя там забанят

можно через прокси это делать, нужен только список довольно болшой http://www.topgen.net/proxy-list.html
Smanxx1
Достали =/

Вот вам простейший сканнер. В dirs.txt должны быть записи типа:
/admin/
/Hochu_bild_stk/
...
и т.д. , что позволит вам ваша больная фантазия.
Остальное, думаю понятно...
Код
<?php

// SnX / 2009


@set_time_limit(0);

$host="localhost";
$port=80;
$timeout=2;
$sDirs="dirs.txt";


if (!file_exists($sDirs))
    die("Error! File $sDirs not found!");

$DirsData=file($sDirs);
sort($DirsData);

for($i=0; $i<count($DirsData); $i++){
    $fp=fsockopen($host, $port, $errno, $errstr, $timeout);
    fwrite($fp, "GET /".trim($DirsData[$i])." HTTP/1.0\r\nHost: ".$host."\r\n\r\n");
    $Result=fgets($fp,128);
    if (!preg_match("/\b404 Not Found\b/i", $Result))
        print "<b>".$DirsData[$i]."</b>  -- <font color=\"#2DB84D\">".$Result."</font><br>";
    fclose($fp);
}

?>
Логин_Паролев
поражаюсь идиотизму некоторых пользователей. Вместо того, чтобы после обнаружения билда, втихаря проверять еще директории сервера на наличие интересных файлов, они кидают ссылки на этот файл, обсуждают, публично серфят сервак , так еще и темы создают как подобрать директории!! полный ппц. Понятно, что GSC видя такой расклад, все давно потерли уже. angel.gif
MaXamer
Цитата(Логин_Паролев @ 24.07.2009, 15:22) *
поражаюсь идиотизму некоторых пользователей. Вместо того, чтобы после обнаружения билда, втихаря проверять еще директории сервера на наличие интересных файлов, они кидают ссылки на этот файл, обсуждают, публично серфят сервак , так еще и темы создают как подобрать директории!! полный ппц. Понятно, что GSC видя такой расклад, все давно потерли уже. angel.gif

Да для них это,как то не очень важно.
centrino
Код
#include <Winsock2.h>
#include <iostream>
#include <conio.h>
#include "locale.h"



typedef void* Socket_t;
typedef void* Host_t;


WSADATA g_pWSAData;


bool Sockets_Init()
{
  WORD wVersion = MAKEWORD( 2, 2 );
  int nRet = WSAStartup( wVersion, &g_pWSAData );
  return nRet ? 1 : 0;
}


void Sockets_Shutdown()
{
  WSACleanup();
}



Socket_t CreateSocket()
{
  return (Socket_t) socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
}


void CloseSocket( Socket_t Socket )
{
  if( !Socket )
  {
    return;
  }

  SOCKET Sock = (SOCKET)Socket;
  closesocket( Sock );
}


Host_t GetHostByName( const char* pName )
{
  char szName[255];
  strcpy( szName, pName );

  if ( isalpha( szName[0] ) )
  {
    if ( szName[strlen( szName )-1] == '\n')
    szName[strlen( szName )-1] = '\0';
    return (Host_t) gethostbyname( szName );
  }
  else
  {
    return 0;
  }
}


Host_t GetHostByAddress( const char* pAddress )
{
  char szName[255];
  strcpy( szName, pAddress );

  if ( !isalpha( szName[0] ) )
  {
    unsigned int addr = inet_addr( szName );
    return (Host_t) gethostbyaddr( (char* )&addr, 4, AF_INET );
  }
  else
  {
    return 0;
  }
}


int GetHostAddr( Host_t Host, char* pAddress )
{
  if( !pAddress )
  {
    return 0;
  }

  hostent* ht = (hostent*)Host;
  strcpy( pAddress, inet_ntoa( *(in_addr*)ht->h_addr ) );

  return strlen( pAddress );
}


int main()
{
  char szAddress[255];

  Sockets_Init();

  Host_t GSC = GetHostByName( "files.gsc-game.com" );

  if( !GSC )
  {
    return 0;
  }

  GetHostAddr( GSC, szAddress );

  setlocale( LC_ALL, ".1251" );

  std::cout << "IP-адрес пысов: " << szAddress;

  _getch();

  Sockets_Shutdown();
}

biggrin.gif
centrino
whoops!
Цитата
403 Forbidden

laugh.gif
Cat
centrino  biggrin.gif

А посему, скрипт от Smanxx1 пригодится в хозяйстве.
shad0w
Дык ж доступа к http://files.gsc-game.com/ и раньше вроде не было.
centrino
Цитата(Shadow. @ 24.07.2009, 20:31) *
Дык ж доступа к http://files.gsc-game.com/ и раньше вроде не было.

верно smile.gif


Цитата(White Сat @ 24.07.2009, 20:29) *
скрипт от Smanxx1 пригодится в хозяйстве


так интереснее smile.gif
#include <Winsock2.h>
#include <iostream>
#include <conio.h>
#include "locale.h"



typedef void* Socket_t;
typedef void* Host_t;


WSADATA g_pWSAData;


bool Sockets_Init()
{
WORD wVersion = MAKEWORD( 2, 2 );
int nRet = WSAStartup( wVersion, &g_pWSAData );
return nRet ? 1 : 0;
}


void Sockets_Shutdown()
{
WSACleanup();
}



Socket_t CreateSocket()
{
return (Socket_t) socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
}


void CloseSocket( Socket_t Socket )
{
if( !Socket )
{
return;
}

SOCKET Sock = (SOCKET)Socket;
closesocket( Sock );
}


Host_t GetHostByName( const char* pName )
{
char szName[255];
strcpy( szName, pName );

if ( isalpha( szName[0] ) )
{
if ( szName[strlen( szName )-1] == '\n')
szName[strlen( szName )-1] = '\0';
return (Host_t) gethostbyname( szName );
}
else
{
return 0;
}
}


Host_t GetHostByAddress( const char* pAddress )
{
char szName[255];
strcpy( szName, pAddress );

if ( !isalpha( szName[0] ) )
{
unsigned int addr = inet_addr( szName );
return (Host_t) gethostbyaddr( (char* )&addr, 4, AF_INET );
}
else
{
return 0;
}
}


int GetHostAddr( Host_t Host, char* pAddress )
{
if( (!pAddress) || (!Host) )
{
return 0;
}

hostent* ht = (hostent*)Host;
strcpy( pAddress, inet_ntoa( *(in_addr*)ht->h_addr ) );

return strlen( pAddress );
}


unsigned int GetHostAddr( Host_t Host )
{
if( !Host )
{
return 0;
}

hostent* ht = (hostent*)Host;
return inet_addr( ht->h_addr );
}


bool ConnectToServer( Socket_t Socket, unsigned int uAddress, int nPort )
{
sockaddr_in addr;

addr.sin_family = AF_INET;
addr.sin_addr.s_addr = uAddress;
addr.sin_port = htons( nPort );

if( connect( (SOCKET)Socket, (SOCKADDR*) &addr, sizeof( addr ) ) == SOCKET_ERROR )
{
return 0;
}

return 1;
}


bool ConnectToServer( Socket_t Socket, const char* pAddress, int nPort )
{
return ConnectToServer( Socket, inet_addr( pAddress ), nPort );
}


int main()
{
char szAddress[255];

char buf[1024];

Sockets_Init();

Socket_t Socket = CreateSocket();

Host_t Host = GetHostByName( "files.gsc-game.ru" );

GetHostAddr( Host, szAddress );

ConnectToServer( Socket, szAddress, 80 );

strcpy( buf, "HEAD / HTTP/1.1\xD\xAHost: files.gsc-game.ru:80\xD\xAUser-Agent: bildanutiy\xD\xA\xD\xA" );

send( (SOCKET)Socket, buf, 1024, 0 );

recv( (SOCKET)Socket, buf, 1024, 0 );

std::cout << buf;

_getch();

CloseSocket( Socket );

Sockets_Shutdown();
}


а чо у них на серваке время не киевское? оО
centrino
gameinator под раздачу попал biggrin.gif
Fe1ix
Файлы с http://xfiles.gsc-game.com/st/ (открытый, через порт 80) дублируются на закрытом http://files.gsc-game.com/st/ (без "икса" в пути, порт 3128)
серверы разные.
ip
xfiles.gsc-game.com - ип 206.51.237.218
files.gsc-game.com - ип 89.108.86.183

хз, что это даст. так просто.

п.с. где хочу, там и лажу, что хочу, то и качаю. ничего не ломаю и не порчу. smile.gif
centrino
Цитата(Felix-rus53 @ 24.07.2009, 23:34) *
п.с. где хочу, там и лажу, что хочу, то и качаю. ничего не ломаю и не порчу.

I'm in this computer, right. So I'm looking around, looking around, you know, throwing commands at it, I don't know where it is or what it does or anything. It's like, it's like choice, it's just beautiful, okay. (с) опять-таки biggrin.gif
h2v6
Их сервак построен на староватой версии nginx 0.7.39 под управления чего то иникс-подобного,

надо искать уязвимости, ибо их версия достаточно старая
centrino
rofl.gif ph34r.gif
centrino



sockets.h
Код
#ifndef SOCKETS_H
#define SOCKETS_H

// Type definitions

typedef void* Socket_t;
typedef void* Host_t;


// Functions

bool Sockets_Init();
void Sockets_Shutdown();
Socket_t Sockets_CreateSocket();
void Sockets_CloseSocket( Socket_t Socket );
Host_t Sockets_GetHostByName( const char* pName );
Host_t Sockets_GetHostByAddress( const char* pAddress );
int Sockets_GetHostAddr( Host_t Host, char* pAddress );
unsigned long Sockets_GetHostAddr( Host_t Host );
bool Sockets_ConnectToServer( Socket_t Socket, unsigned int uAddress, int nPort );
bool Sockets_ConnectToServer( Socket_t Socket, const char* pAddress, int nPort );
bool Sockets_Send( Socket_t Socket, const char* pBuffer, int nSize );
int Sockets_Receive( Socket_t Socket, char* pBuffer, int nSize );


#endif


sockets.cpp
Код
#include <Winsock2.h>
#include "Sockets.h"



WSADATA g_pWSAData;



bool Sockets_Init()
{
  WORD wVersion = MAKEWORD( 2, 2 );
  int nRet = WSAStartup( wVersion, &g_pWSAData );
  return nRet ? 1 : 0;
}





void Sockets_Shutdown()
{
  WSACleanup();
}






Socket_t Sockets_CreateSocket()
{
  return (Socket_t) socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
}





void Sockets_CloseSocket( Socket_t Socket )
{
  if( !Socket )
  {
    return;
  }

  SOCKET Sock = (SOCKET)Socket;
  closesocket( Sock );
}






Host_t Sockets_GetHostByName( const char* pName )
{
  char szName[255];
  strcpy( szName, pName );

  if ( isalpha( szName[0] ) )
  {
    if ( szName[strlen( szName )-1] == '\n')
    szName[strlen( szName )-1] = '\0';
    return (Host_t) gethostbyname( szName );
  }
  else
  {
    return 0;
  }
}






Host_t Sockets_GetHostByAddress( const char* pAddress )
{
  char szName[255];
  strcpy( szName, pAddress );

  if ( !isalpha( szName[0] ) )
  {
    unsigned int addr = inet_addr( szName );
    return (Host_t) gethostbyaddr( (char* )&addr, 4, AF_INET );
  }
  else
  {
    return 0;
  }
}






int Sockets_GetHostAddr( Host_t Host, char* pAddress )
{
  if( (!pAddress) || (!Host) )
  {
    return 0;
  }

  hostent* ht = (hostent*)Host;
  strcpy( pAddress, inet_ntoa( *(in_addr*)ht->h_addr ) );

  return strlen( pAddress );
}





unsigned long Sockets_GetHostAddr( Host_t Host )
{
  if( !Host )
  {
    return 0;
  }

  hostent* ht = (hostent*)Host;
  unsigned long uAddr =  inet_addr( inet_ntoa( *(in_addr*)ht->h_addr ) );
}





bool Sockets_ConnectToServer( Socket_t Socket, unsigned int uAddress, int nPort )
{
  sockaddr_in addr;

  addr.sin_family = AF_INET;
  addr.sin_addr.s_addr = uAddress;
  addr.sin_port = htons( nPort );

  if( connect( (SOCKET)Socket, (SOCKADDR*) &addr, sizeof( addr ) ) == SOCKET_ERROR )
  {
    return 0;
  }

  return 1;
}






bool Sockets_ConnectToServer( Socket_t Socket, const char* pAddress, int nPort )
{
  return Sockets_ConnectToServer( Socket, inet_addr( pAddress ), nPort );
}







bool Sockets_Send( Socket_t Socket, const char* pBuffer, int nSize )
{
  if( !pBuffer )
  {
    return 0;
  }

  int nRet = send( (SOCKET)Socket, pBuffer, nSize, 0 );
  return nRet ? 1 : 0;
}







int Sockets_Receive( Socket_t Socket, char* pBuffer, int nSize )
{
  if( !pBuffer )
  {
    return 0;
  }

  int nRet = recv( (SOCKET)Socket, pBuffer, nSize, 0 );

  return nRet;
}


server.cpp
Код
#include <memory.h>
#include "Server.h"





CServer::CServer()
{
  _socket = 0;
  _host = 0;
}





CServer::CServer( std::string address, int port )
{
  Init( address, port );
}





CServer::~CServer()
{
  Shutdown();
}





void CServer::Init( std::string &address, int port )
{
  _socket = Sockets_CreateSocket();
  if( !_socket )
  {
    throw std::exception( "Unable to create socket" );
  }

  _host = Sockets_GetHostByAddress( address.c_str() );
  if( !_host )
  {
    _host = Sockets_GetHostByName( address.c_str() );
  }
  if( !_host )
  {
    std::string errorMsg = std::string( "The host address " ) + address + std::string( " not found or does not exist" );
    throw std::exception( errorMsg.c_str() );
  }

  unsigned long ipAddress = Sockets_GetHostAddr( _host );
  if( !ipAddress )
  {
    throw std::exception( "Invalid host address" );
  }

  bool result = Sockets_ConnectToServer( _socket, ipAddress, port );
  if( !result )
  {
    std::string errorMsg = std::string( "Unable to create connection with " ) + address;
    throw std::exception( errorMsg.c_str() );
  }
}





void CServer::Shutdown()
{
  if( _socket )
    Sockets_CloseSocket( _socket );

  _host = 0;
  _socket = 0;
}





void CServer::Send( std::string message )
{
  bool result = Sockets_Send( _socket, message.c_str(), message.length() );
  if( !result )
  {
    throw std::exception( "Cannot send message" );
  }
}





void CServer::Receive( std::string &message )
{
  char buffer[1024];
  memset( buffer, 0, sizeof( buffer ) );

  int result = Sockets_Receive( _socket, buffer, 1024 );
  if( result == -1 )
  {
    throw std::exception( "Cannot receive message" );
  }

  message = buffer;
}


server.h
Код
#ifndef SERVER_H
#define SERVER_H


#include <string>
#include <exception>
#include "Sockets.h"

class CServer
{
public:
  // constructions
  CServer();
  CServer( std::string address, int port );
  virtual ~CServer();

  // Public Methods
  void Init( std::string &address, int port );
  void Shutdown();

  void Send( std::string message );
  void Receive( std::string &message );

private:
  // Private members
  Socket_t _socket;
  Host_t _host;
};




#endif


main.cpp
Код
#include <iostream>
#include <conio.h>
#include "Server.h"


int main()
{
  try
  {
    Sockets_Init();

    std::string message;
    CServer gameinator( "gameru.net", 80 );

    gameinator.Send( "HEAD /forum/ HTTP/1.1\xD\xAHost: gameru.net:80\xD\xAUser-Agent: bildanutiy\xD\xA\xD\xA" );
    gameinator.Receive( message );

    std::cout << message.c_str();

    Sockets_Shutdown();

    _getch();
  }
  catch( std::exception &e )
  {
    std::cout << e.what();
    _getch();
  }

  return 0;
}


http://spys.ru/socks/
centrino
-
Smanxx1
Цитата
Их сервак построен на староватой версии nginx 0.7.39 под управления чего то иникс-подобного,
надо искать уязвимости, ибо их версия достаточно старая

Вобще ты немножко бред написал. Веб уязвимости там негде искать, а для использования сплойтов для ОС или сторонних программ, нужно как минимум иметь хоть какой-то доступ к серву.

centrino
А толку? Перебор папок ты не написал еще.
centrino
Цитата(Smanxx1 @ 25.07.2009, 10:56) *
Перебор папок ты не написал еще.

там все просто, запрашиваем страницу:
Цитата
gameinator.Send( "HEAD /forum/ HTTP/1.1\xD\xAHost: gameru.net:80\xD\xAUser-Agent: bildanutiy\xD\xA\xD\xA" );

и проверяем отвер сервера
Код
    if( message.find( "200 OK" ) != std::string::npos )
    {
      // мы здесь, значит все ок и страница существует!
    }

организовать файловый поток и цикл совсем просто smile.gif

а может и еще проще можно, надо порыться в командах http-сервера..
EmTiO
Парни...я конечно все понимаю...Вы бы еще на их форуме тему создали: "Ломаем сервер GSC вместе". Вы просто можете подставить все комъюнити Gameinator-а dry.gif
centrino
EmTiO, если у них в открытом доступе это лежало столько времени, то скорее всего им excl.gif а то, что мы немного потрындим с их сервером, так ведь это не воспрещается, мы ж не ломаем ничего smile.gif

upd.

к тому же мы пока только с gameru.net базарим biggrin.gif
h2v6
Цитата
Welcome to the GSC Game World Community test!~test@************************
Your host is tiger.gsc-game.kiev.ua, running version 2.10.3p3
This server was created Mon Sep 8 2008 at 02:19:21 EEST by ManOwaR Linux Lover
-
tiger.gsc-game.kiev.ua 2.10.3p3 aoOirw abeiIklmnoOpqrstv
-
There are 6 users and 0 services on 1 servers
15 channels formed
I have 6 users, 0 services and 0 servers
-
MOTD File is missing



Оно разговаривает! biggrin.gif
Smanxx1
Цитата(centrino @ 25.07.2009, 11:54) *
Цитата(Smanxx1 @ 25.07.2009, 10:56) *
Перебор папок ты не написал еще.

там все просто, запрашиваем страницу:
Цитата
gameinator.Send( "HEAD /forum/ HTTP/1.1\xD\xAHost: gameru.net:80\xD\xAUser-Agent: bildanutiy\xD\xA\xD\xA" );

и проверяем отвер сервера
Код
    if( message.find( "200 OK" ) != std::string::npos )
    {
      // мы здесь, значит все ок и страница существует!
    }

организовать файловый поток и цикл совсем просто smile.gif

а может и еще проще можно, надо порыться в командах http-сервера..

Стоит так извращатся? =) То же самое на пхп в 10 строчек укладывается. Скорость роли не сыграет, мы же не миллионы папок чекаем.

Цитата
Парни...я конечно все понимаю...Вы бы еще на их форуме тему создали: "Ломаем сервер GSC вместе". Вы просто можете подставить все комъюнити Gameinator-а

Мне лично как-то пофиг, что есть серв что нету.
Fe1ix
Цитата(EmTiO @ 25.07.2009, 12:02) *
Парни...я конечно все понимаю...Вы бы еще на их форуме тему создали: "Ломаем сервер GSC вместе". Вы просто можете подставить все комъюнити Gameinator-а dry.gif

дак так и надо. Ломаем сервер GSC вместе! angry.gif

Smanxx1, говори про какие ещё файлы знаешь. ломай своим ботнетом.
centrino
Цитата(Smanxx1 @ 25.07.2009, 16:03) *
Стоит так извращатся?

ну я просто ради интереса, а потом, может еще пригодится, мона производных классов наделать, например класс почтового сервера с хэширующими ф-иями, или прокси-сервер или ftp или еще какая хрень со специфичными свойствами и т.д. ломать ессно ничего не собираюсь smile.gif

з.ы. можно враппер для socket.h добавить, тогда и для линуха код актуален будет
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.