Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2009-07-30 14:05:23

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Уязвимость в моде репутации

Обнаружена серъёзная уязвимость sql-inject в моде репутации всех версий до 2.2.3
Необходимо
Открыть reputation.php, найти строку 142:

$db->query("INSERT INTO ".$db->prefix."reputation (user_id, from_user_id, time, post_id, reason, topics_id, ". $rep_column .") Values ('". $target['poster_id'] . "', '" . $pun_user["id"] ."', '" . mktime() . "', '" . $target['id'] ."', '" . $message . "', '". $target['topic_id'] . "', '1' )") or error('Unable to add reputation info', __FILE__, __LINE__, $db->error());

Заменить её на эту строку:

$db->query("INSERT INTO ".$db->prefix."reputation (user_id, from_user_id, time, post_id, reason, topics_id, ". $rep_column .") Values ('". $target['poster_id'] . "', '" . $pun_user["id"] ."', '" . mktime() . "', '" . $target['id'] ."', '" . $db->escape($message) . "', '". $target['topic_id'] . "', '1' )") or error('Unable to add reputation info', __FILE__, __LINE__, $db->error());

Версия обновлена до 2.2.4: http://www.punres.org/files.php?pid=184

Offline

#2 2009-07-30 14:59:08

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Уязвимость в моде репутации

hcs, в этом

        Reputation Plugin for PunBB
        ----------------------------
-- Version 2.2.2
-- (c) Copyright 2006-2007 hcs  [email protected]

-- GPL:

уже была эта ошибка устранена!
З.Ы. А тег КОДЕ не правильно отбражается в Опере sad

Offline

#3 2009-07-30 17:58:35

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Re: Уязвимость в моде репутации

Ничего не понимаю. Скачал 2.2.3 - дырка есть.

Offline

#4 2009-07-30 17:59:19

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Re: Уязвимость в моде репутации

этот тег и в файрфоксе неправильно кажет

Offline

#5 2009-08-01 11:13:49

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Re: Уязвимость в моде репутации

To fix Local File Inclusion vulnerability:
Open include\reputation\rep_profile.php
Find

require_once PUN_ROOT.'lang/'.$pun_user['language'].'/reputation.php';

add before:

// Make sure no one attempts to run this script "directly"
if (!defined('PUN'))
    exit();

Open include\reputation\rep_viewtopic.php
find

if ($cur_post['poster_id']!=1 && $pun_user['g_rep_enable'] == 1 && $pun_config['o_reputation_enabled'] == 1

add before:

// Make sure no one attempts to run this script "directly"
if (!defined('PUN'))
    exit();

Update version to 2.2.5: http://www.punres.org/files.php?pid=184

Оригинальное сообщение: http://www.punres.org/viewtopic.php?pid=25870#p25870

Offline

#6 2009-08-18 16:25:16

astas
Участник
Зарегистрирован: 2009-08-18
Сообщений: 1

Re: Уязвимость в моде репутации

Вообще замечательный мод.


(1) И почемуто русского языка в админке нет (репутация)
861c61804a9f92546f031d93059c4e7a.jpg
Если не сложно помогите пожалуйста?
Заранее Спасибо!

Редактировался astas (2009-08-18 21:27:41)

Offline

#7 2009-09-23 16:18:59

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Re: Уязвимость в моде репутации

Обнаружена очередная уязвимость sql-inject
Решение: открыть reputation.php, найти строку ~94

$result = $db->query('SELECT p.poster, p.poster_id, p.posted, p.id, p.topic_id, t.subject, u.reputation_enable, r.time FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON p.topic_id=t.id INNER JOIN '.$db->prefix.'users AS u ON p.poster_id = u.id LEFT JOIN '.$db->prefix.'reputation AS r ON (r.from_user_id ='.$pun_user["id"] .' AND  r.user_id = u.id) WHERE p.id='.$pid.' AND p.poster="'. $poster .'" ORDER BY r.time DESC LIMIT 0 , 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());

Заменить на:

$result = $db->query('SELECT p.poster, p.poster_id, p.posted, p.id, p.topic_id, t.subject, u.reputation_enable, r.time FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON p.topic_id=t.id INNER JOIN '.$db->prefix.'users AS u ON p.poster_id = u.id LEFT JOIN '.$db->prefix.'reputation AS r ON (r.from_user_id ='.$pun_user["id"] .' AND  r.user_id = u.id) WHERE p.id='.$pid.' AND p.poster="'. $db->escape($poster) .'" ORDER BY r.time DESC LIMIT 0 , 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());

Версия мода обновлена до 2.2.6: http://www.punres.org/download.php?id=2273

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens