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

Алгоритм поиска sql-inj в исходниках php сценариев
  #1  
Старый 04.11.2006, 17:29
Аватар для n4n0bit
n4n0bit
Познающий
Регистрация: 11.09.2006
Сообщений: 59
Провел на форуме:
70702

Репутация: 52
По умолчанию Алгоритм поиска sql-inj в исходниках php сценариев

Вот собираюсь делать так, прошу попровлять и дополнять:

1. сбор всех имен переменных передоваемых GET/POST со всех php сценаривем
1.1 создание хеша имя_переменной/файл
2. сбор всех ф-ций которые фильтруют переменный используя addslashes magic_quotes_gpc str_replace
2.1 создание хеша имя_ф-ции/файл
3. сбор всех строк вида mysql_query($perm), где потом содержание $perm интерпалируем в значение хеша, а ключ хеша будет имя этой переменной.

Далее сравниваем, если строка запроса (п.3) к БД содержит переменную (п.1) , делаем проверку на наличия имени ф-ции (п.2),
если она не обнаружена - значит код потанцеально уязвим.

На сколька этот алгоритм эффективен - я хз.

помогайте господа.
 
Ответить с цитированием

  #2  
Старый 04.11.2006, 17:46
Аватар для r0
r0
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме:
1665310

Репутация: 488
По умолчанию

Нужно собирать переменные, значения которых используются в запросах к БД, хотя п1 почти этому удовлетворяет.
Вот насчет п2 -- ты на чем пишешь? Т.е magic_quotes_gpc - это директива, а не ф-я, значение(on\off) можно получить посредством get_magic_quotes_gpc() но это опять же в php.
 
Ответить с цитированием

  #3  
Старый 04.11.2006, 18:15
Аватар для EXSlim
EXSlim
Познающий
Регистрация: 09.10.2006
Сообщений: 92
Провел на форуме:
347686

Репутация: 87
Отправить сообщение для EXSlim с помощью ICQ
По умолчанию

А почему бы не собирать запросы к БД содержащие строки $_get[], $_post[], $_cookie[] ? Это будет означать, что скрипт наверняка уязвим
 
Ответить с цитированием

  #4  
Старый 04.11.2006, 18:18
Аватар для Digimortal
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


По умолчанию

Цитата:
Сообщение от r0cha!  
Вот насчет п2 -- ты на чем пишешь? Т.е magic_quotes_gpc - это директива, а не ф-я, значение(on\off) можно получить посредством get_magic_quotes_gpc() но это опять же в php.
Зачем получать значение magic_quotes_gpc ? И, главное откуда его получать? Заранее ведь не известно, будет ли анализируемый скрипт работать с значением magic_quotes_gpc = 1 или 0. Просто нужно чтоб в отчете прога (скрипт?) выводила, что существует вероятность SQL-inj в случае magic_quotes_gpc=0..
И еще: не надо забывать про cookies..
 
Ответить с цитированием

  #5  
Старый 04.11.2006, 18:20
Аватар для n4n0bit
n4n0bit
Познающий
Регистрация: 11.09.2006
Сообщений: 59
Провел на форуме:
70702

Репутация: 52
По умолчанию

r0cha! я делаю проверку по регеспу на ф-цию такога рода.
Но смори не все же переменные которые есть в теле запроса доступны через GET/POST,
поетому я проверяю сWEBдоступные переменные на наличая в БДзапросе.

PHP код:
function un($code){
        if (
get_magic_quotes_gpc()) {
           
$code stripslashes($code);
        }
        return 
$code;

EXSlim хм, такога проста почти не встречал, ну если такое есть то этот момент тоже включу.

С кукисами чуть поже, хотяб это автоматизировать.

ps: что еще господа?

ps2: пишу на PERL, http://forum.antichat.ru/thread26051-nJin4.html

Последний раз редактировалось n4n0bit; 04.11.2006 в 18:24..
 
Ответить с цитированием

  #6  
Старый 04.11.2006, 18:27
Аватар для EXSlim
EXSlim
Познающий
Регистрация: 09.10.2006
Сообщений: 92
Провел на форуме:
347686

Репутация: 87
Отправить сообщение для EXSlim с помощью ICQ
По умолчанию

Цитата:
EXSlim хм, такога проста почти не встречал, ну если такое есть то этот момент тоже включу.
Ты прав, такая конструкция редко встречается, но ведь она зараза работает
 
Ответить с цитированием

  #7  
Старый 04.11.2006, 18:35
Аватар для n4n0bit
n4n0bit
Познающий
Регистрация: 11.09.2006
Сообщений: 59
Провел на форуме:
70702

Репутация: 52
По умолчанию

EXSlim гуд, уже включил., а регистр соблюдается? в $_get[], $_post[], $_cookie[] ???

Все согласны с этим алгоритмом?

Последний раз редактировалось n4n0bit; 04.11.2006 в 18:37..
 
Ответить с цитированием

  #8  
Старый 04.11.2006, 21:54
Аватар для r0
r0
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме:
1665310

Репутация: 488
По умолчанию

Цитата:
Зачем получать значение magic_quotes_gpc ? И, главное откуда его получать?
ну а я про что и говорю..
Цитата:
а регистр соблюдается?
да, и только $_GET[], $_POST[], $_COOKIE[]

Последний раз редактировалось r0cha!; 04.11.2006 в 21:59.. Причина: оп
 
Ответить с цитированием

  #9  
Старый 04.11.2006, 23:00
Аватар для guest3297
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


По умолчанию

когда руками баги ищу то просто...
есть запрос к бд...
select Name,pass from users where '.$id.'

Вот те и иньекция...
тоесть есть в строке есть нефильтруймый передаваемый параметр то это бага...
как это реализовать в сканере я хз...

еще добавь include()
 
Ответить с цитированием

  #10  
Старый 04.11.2006, 23:12
Аватар для n4n0bit
n4n0bit
Познающий
Регистрация: 11.09.2006
Сообщений: 59
Провел на форуме:
70702

Репутация: 52
По умолчанию

include() ета отдельная песьгя - все всем спасибо.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
Внедрение Sql кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



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


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




ANTICHAT.XYZ