[ M0.scaner ] Мой сканер директорий

Discussion in 'PHP' started by mouse.pro, 23 Feb 2008.

  1. mouse.pro

    mouse.pro Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    113
    Likes Received:
    73
    Reputations:
    14
    [ M0.scaner ]
    - Сканер сайта на имеющиеся директории и файлы по базе.
    - Написан на PHP


    Имеются две версии, одна для Windows, как exe приложение( компилятор bamcompile ), другая непосредственно скриптом для сервера.

    [ For Windows ] [ Скачать ]
    M0scaner.exe - собственно сам исполнитель.
    base.txt - база каталогов и файлов.
    site.txt - название сайта. ( формат: http://mysite.ru )

    [ For Server ] [ Скачать ]
    m0scaner.php - собственно сам скрипт.
    base.txt - база каталогов и файлов.
    Запускаем так: http://mysite.ru/m0scaner/m0scaner.php?site=http://mysite2.ru

    После успешного сканирования появится файл с результатом, формата mysite.ru.txt

    P.s Писал для себя, не планировал выкладывать в массы, меня он в принципи устраивает. Может кому тоже пригодится. Критика принимается)
    P.s.s Не всегда правильно сканирует, все зависит от настройки сервера, где располагается сайт.

    Пароль: antichat
     
    9 people like this.
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    По сути, 5 строк
     
  3. zythar

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

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    а че под никсы не портируешь? если лень довай сорсы попробуем ((*
     
  4. mouse.pro

    mouse.pro Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    113
    Likes Received:
    73
    Reputations:
    14
    [ For Server ] под никс должен работать
     
  5. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    так он че, просто проверяет наличие файла по списку?
    фи.. я то думал.. реально выдает все каталоги.. )
     
  6. mouse.pro

    mouse.pro Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    113
    Likes Received:
    73
    Reputations:
    14
    Я ж в описании написал, читай внимательно.
     
  7. Micr0b

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

    Joined:
    14 Jan 2006
    Messages:
    223
    Likes Received:
    168
    Reputations:
    26
    ну хорошо за старание +,
    дам совет:
    -Зделай проверну не только по директориях а и по файлах, а также по поддоменах
    (http://домен_поиск.название сайта.ru/), пример http://mysql.site.ru
    - Зделай графическую оболочку, с дополнительными возможностями.
     
  8. mouse.pro

    mouse.pro Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    113
    Likes Received:
    73
    Reputations:
    14
    Возьму на заметку)
     
    1 person likes this.
  9. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    !ЯТЬ залейте в нормальное место!
     
  10. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    кеша =\
    http://webfile.ru/1762841
    http://rapidshare.com/files/94266542/m0scaner.rar
     
    #10 banned, 23 Feb 2008
    Last edited: 23 Feb 2008
  11. gibson

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

    Joined:
    24 Feb 2006
    Messages:
    391
    Likes Received:
    247
    Reputations:
    88
    Вот тебе функция сканирования, чуть лучше тем у тебя мб переделаешь еще добавишь чего. Пример можешь посмотреть на gibs0n.name Site structure
    PHP:
    function scaning ($scan){
    if(
    eregi(":",$scan)){
     list(
    $scan,$port) = explode(":",$scan);} else{$port 80;}
      if (
    ereg("([0-9]{2,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})"$scan$regs))
          { 
    $host gethostbyaddr($regs[0]); $checkVal '<b><font color="#000000" size=3>Checking host:</font></b>&nbsp;<font color="#FF0000" size=3>'.$host.'</font><br>'$t 1; }
        else { 
    $result "<font color=#FF0000>Invalide hostname $scan</font>";  $t 0;
      if (!
    ereg("([a-z]{2,15}).([a-z]{2,4})",$scan,$regs))
         { 
    $result "<font color=#FF0000>Invalide hostname $scan</font>";  $t 0;}
         else {
    $host =  gethostbyname($regs[0]);  $checkVal '<b><font color="#000000" size=3>Checking host:</font></b>&nbsp;<font color="#FF0000" size=3>'.$host.'</font><br>'$t 1; }
        }
      if(
    $t == 1){
        
    $result ''$robots '';
        
    $good = array ("<b><font color=green size=1>OK</font></b>" => "200""Crated" => "201""Accetpted" => "202",
                       
    "Use proxy" => "305","Moved Temporarily" => "302""Use Proxy" => "305",  "Bad request" => "400""Unauthorized" => "401",
                       
    "<b><font color=red size=1>Forbidden</font></b>" => "403""Not found" => "404""Internal Server error" => "500""Servise Unavailable" => "503");
         
    $file "tools/file.txt";
         
    $fp file($file);
         for (
    $i 0$i count($fp); $i++){
         
    $fsoc = @fsockopen($host,$port,$errno$errstr30);
         if(!
    $fsoc) {$checkVal "Connection error"$result '';}
         else{
          
    $path ereg_replace("\n"," ",$fp[$i]);
          
    $get "HEAD $path http/1.0\n\n";
          
    fputs($fsoc$get);
          
    $res =  htmlspecialchars(fgets($fsoc,13));
          
    $res  substr($res,9,12);
          if(
    in_array($res,$good)) {$result .= '<tr><td ><font color=#FFFFFF size=1>Path:&nbsp;<font color=#FF8040 size=1>'.$path.'</font>&nbsp;</td><td><font color=#808080 size=1>Status&nbsp;'.array_search($res,$good).'</font><br></td></tr>'; }
           else { 
    $result .= 'Error&nbsp;'.$path.$res.'<br>';}
          
    fclose($fsoc);
           } 
    // else
        
    // for
          
    $robots 'http://'.$host.'/robots.txt';
          
    $robots = @file_get_contents($robots);
          if(!
    $robots)  {$robots '<b>Bot information not found</b><br><br>';}
          else{
          
    $robots '<div align="center"><b><font color="red" size="1">Robots information</font></b></div><br><font color="#808080" size=1>'.$robots.'</font><br><br>';
          if(!empty(
    $robots)  ) {eregi_replace("Disallow","<br>",$robots); htmlspecialchars($robots);}  }
       } 
    // $t
      
    else { $result '<font color=#FF0000 size=2>Invalide hostname $scan</font>'; }

      return array(
    $checkVal,$result,$robots);
    }
     
  12. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    https://forum.antichat.ru/threadnav40031-1-10.html
    ?
     
  13. gibson

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

    Joined:
    24 Feb 2006
    Messages:
    391
    Likes Received:
    247
    Reputations:
    88
    2 Dr.Check всегда должна быть алтернатива сушествующему.
     
  14. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    плюсик ! интересная штучка ...
     
  15. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    php не подходит для заданий данного класса!
     
  16. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    А декомпилить его чем ? оО.Медленно сканит...нету многопоточности чтоли... Не канал же у меня такой нупский ))))
     
  17. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    декомпилить? пальцем.. или зубочисткой чтоли..
    тебе дан сурс пхп файла.. что тебе ещё надо? скомпиленый екзешник сделан из пхп файла .. написано же ( компилятор bamcompile )
    глянь в сурс и узри там неМногопоточность........
     
  18. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Самое грустное это то,что сканер сканит даже не все папки на сайте по списку =_=,хотя такая папка есть,но,всё же,выдаёт список доступных папок.