PDA

Просмотр полной версии : Автоматизация поиска уязвимостей...


W!z@rD
11.01.2009, 18:46
Всем добрый день...
Сегодня думал чем заняться после того как успешно сдал математику... (вчера был экзамен)
Вобщем написал утилиту, лоадер/гугл-парсер.
http://img380.imageshack.us/img380/7003/01112009202112ez3.jpg
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

Qwazar
11.01.2009, 19:24
Чем вам "стандартное" гугление не нравится? все время надо с пупырышками, усиками и прочей поебенью .. скромное имхо. Кстати да, имхо подобные тулзы имеют смысл если результаты будут в файлик выводиться. Т.к. иначе разницы между рассматриванием выдачи гугла или тулзы - нет.

TANZWUT
12.01.2009, 19:38
ребят, давайте лучше идею подскажу и думаю эта тулза будет понастоящему полезна каждому.

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

[Raz0r]
12.01.2009, 22:04
поиск определённого скрипта на каждом сайте с реверса.
http://search.msn.com/results.aspx?q=ip:[ip] [keyword]

NaX[no]rT
13.01.2009, 05:57
мне больше нравится http://mywhois.name/rip.php?search=[ip or DN]

Pashkela
16.01.2009, 23:15
<?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";
?>

genom--
17.01.2009, 13:17
парни - гугл - жеще стал и уже жавно - можно по запросу 200 линков (две страницы по сто) и банит за слишком частые - так что соксы в руки

M4g
17.01.2009, 17:34
>парни - гугл - жеще стал и уже жавно - можно по запросу 200 линков (две страницы по сто) и банит за слишком частые - так что соксы в руки
низачот)
спокойно 1к линков по одному запросу+слишком частые зачем? 12-15 секунд между запросами для антибана достаточно.

Serbies
26.04.2010, 21:31
>парни - гугл - жеще стал и уже жавно - можно по запросу 200 линков (две страницы по сто) и банит за слишком частые - так что соксы в руки
низачот)
спокойно 1к линков по одному запросу+слишком частые зачем? 12-15 секунд между запросами для антибана достаточно.

А никто не задумывался над использованием гугл апи - и банов не будет и изобретение велосипеда можно отложить на другие компоненты софтины?

xafon
27.04.2010, 06:35
ссылка битая, может у кого завалялся? хотелось бы посмотреть.

M_script_
27.04.2010, 08:01
А никто не задумывался над использованием гугл апи - и банов не будет и изобретение велосипеда можно отложить на другие компоненты софтины?
На дату цитируемого сообщения посмотри.