Автоматизация поиска уязвимостей...

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by W!z@rD, 11 Jan 2009.

  1. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Всем добрый день...
    Сегодня думал чем заняться после того как успешно сдал математику... (вчера был экзамен)
    Вобщем написал утилиту, лоадер/гугл-парсер.
    [​IMG]
    1. Парсит гугл (пока только 1 страницу, 100 результатов, если будет продвижение, сделаю парсинг по страницам)
    2. По идее передает работу плагинам, а именно циклом foreach начинает пробегать по всем элементам listView'a и передавать ссылку;
    3. Если что-то нашли, интерфейс Check (реализованный в плагине) вернул true, то соответствующая строка изменяет цвет на розовый.

    Реализовано:
    1. Парсинг гугла; (Регулярное выражение - (?<=<(\S|\s)*)((?<=(href=('|"")+))|(?<=(href=))[^('|"")])([^'>""\s)]*)(?=('|""|[\S])?) );
    2. Поддержка плагинов;
    3. Демо пример плагина SQL-Injection (сделал сам, потом начал искать текста ошибок, в гугле вбил "ошибки во время sql injection" получил 1 ссылку - http://www.rsdn.ru/article/inet/SqlInjectionSearch.xml).

    Ряд вопросов:
    1. Необходим более опытный программист, который поможет разрулить с бизнес логикой;
    2. Нужна грамотная реализация поддержки плагинов.
    Кто поможет?

    Планируется:
    1. Реализация ведения лога путем добавления своего обработчика Exception'ов. При catch'ах генерация нового исключения с описанием ошибки;
    2. Добавление многопоточности (Web);
    3. Использование PE библиотеки от MS;
    4. Выставление критериев поиска;
    5. Собственные настройки для плагинов;
    6. Визуальное сопровождение работы.

    "Подводные камни"
    1. Автоматически из списка ссылок (при парсинге гугла) исключаются ссылки содержащие в себе "google", не содержащие в себе "http";
    2. При компиляции библиотека Core копируется в папку Plugins, проверял, по сути она там не нужна.

    Требования:
    .NET Framework 3.5
    7Zip для распаковки архива

    Бинарник - http://www.sendspace.com/file/b6tbxi 8Kb
    Исходник - http://www.sendspace.com/file/pb4s69 32Kb
     
    6 people like this.
  2. Qwazar

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

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Кстати да, имхо подобные тулзы имеют смысл если результаты будут в файлик выводиться. Т.к. иначе разницы между рассматриванием выдачи гугла или тулзы - нет.
     
    1 person likes this.
  3. TANZWUT

    TANZWUT Крёстный отец :)

    Joined:
    22 Jun 2005
    Messages:
    1,474
    Likes Received:
    716
    Reputations:
    744
    ребят, давайте лучше идею подскажу и думаю эта тулза будет понастоящему полезна каждому.

    1) помимо поиска сделать чтото на подобии http://madnet.name/tools/madss/
    а) Поиск доступной для просмотра PHPINFO информации
    б) Вывод директорий сайта, запрещенных к индексированию
    в) Вывод списка Сайтов на сервере aka (ReverseIP)
    г) Служебная информация о сервере
    2) поиск определённого скрипта на каждом сайте с реверса.
    3) всё это можно добавить как плагин к http://code.google.com/p/awebtool/downloads/list + читаем wiki
     
    _________________________
    1 person likes this.
  4. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    http://search.msn.com/results.aspx?q=ip:[ip] [keyword]
     
  5. NaX[no]rT

    NaX[no]rT Members of Antichat

    Joined:
    3 Sep 2005
    Messages:
    489
    Likes Received:
    201
    Reputations:
    202
    мне больше нравится http://mywhois.name/rip.php?search=[ip or DN]
     
    _________________________
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <?php
    // Парсер url после выдачи гугла по запросу
    $handler=fopen('log.txt','w'); // если не хотим терять старые данные - то "a+"
    $limit 0;
    $zapros "antichat"// Наш запрос для поиска
    $page_start 0// Стартовая страница из расчета 100 результатов выдачи на страницу
    $page_end 200// Последняя страница из расчета 100 результатов выдачи на страницу
    function parse_serp($engine$query$limit)
    {
    if (
    $limit<100) {$request 'http://www.google.com/ie?hl=ru&num=100&start=' $limit'&lr=&q='.urlencode(trim($query));}
    if (
    $limit>=100) {$request 'http://www.google.com/ie?q=' urlencode(trim($query)) . '&num=100&hl=ru&lr=&start=' $limit '&sa=N';}
    $pattern '/<a title="(.*)" href=(.*)>(.*)<\/a>/isU';
    $result file_get_contents($request);
    if(
    preg_match_all($pattern$result$matches))
    {
    for (
    $i=0$i<count($matches[0]); $i++)
    {
    $link $matches[2][$i];
    $serp[] = $link;
    }
    }
    return 
    $serp;
    }
    for (
    $i=$page_start;$i<=$page_end;$i++)
    {
    $result parse_serp("google"$zapros$i);
    $log implode("\r\n",$result);
    if(
    $handler) {fwrite($handler,$log);}
    $i=$i+100;
    if (
    $i>100) {$i=$i-1;}
    }
    fclose($handler);
    echo 
    "Все данные были сохранены в log.txt"
    ?>
     
  7. genom--

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

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    парни - гугл - жеще стал и уже жавно - можно по запросу 200 линков (две страницы по сто) и банит за слишком частые - так что соксы в руки
     
  8. Serbies

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

    Joined:
    26 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    -1
    А никто не задумывался над использованием гугл апи - и банов не будет и изобретение велосипеда можно отложить на другие компоненты софтины?
     
  9. xafon

    xafon New Member

    Joined:
    2 Dec 2009
    Messages:
    38
    Likes Received:
    4
    Reputations:
    0
    ссылка битая, может у кого завалялся? хотелось бы посмотреть.
     
  10. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    На дату цитируемого сообщения посмотри.
     
  11. Igor2010

    Igor2010 New Member

    Joined:
    9 Apr 2010
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    перезалейте пожалуйста исходник