Перейти к контенту

Показ ошибок SQL запросов - помощь взломщику?


Рекомендуемые сообщения

  • Ответы 62
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

  • 8 месяцев спустя...

Показ ошибок SQL запросов - помощь взломщику?

 

Я так понял, это вопрос :D

 

Ответ: ИМХО бред, какая тут помощь, код ИПБ и так открыт, так что ничего нового взломщик не узнает.

 

Если уж так хочется скрыть ошибки от левых глаз то можно показывать их только определенным IP, например.

Ссылка на комментарий
Поделиться на других сайтах

ИМХО бред, какая тут помощь, код ИПБ и так открыт, так что ничего нового взломщик не узнает.

Если не понимаешь, то лучше промолчи. Различные ошибки позволяют узнать хакеру префиксы базы и провести sql Injection.

Ссылка на комментарий
Поделиться на других сайтах

Сори если ступлю

а разьве вот это:

файл: /index.php

define( 'CUSTOM_ERROR', 0 );
....
error_reporting(0);

не поможет нам?

 

ну и вместо показа в логи пихать ошибки...

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Вообщем в 2.0.х править нужно ips_kernel\class_db_mysql.php

 

И чтобы не выводились ошибки достаточно удалить строчки:

 

	$the_error .= "\n\nmySQL error: ".mysql_error()."\n";
$the_error .= "mySQL error code: ".$this->error_no."\n";
$the_error .= "Date: ".date("l dS of F Y h:i:s A");

$out = "<html><head><title>Invision Power Board Database Error</title>
<style>P,BODY{ font-family:arial,sans-serif; font-size:11px; }</style></head><body>
 <br><br><blockquote><b>There appears to be an error with the {$INFO['board_name']} database.</b><br>
You can try to refresh the page by clicking <a href=\"java script:window.location=window.location;\">here</a>, if this
does not fix the error, you can contact the board administrator by clicking <a href='mailto:{$INFO['email_in']}?subject=SQL+Error'>here</a>
<br><br><b>Error Returned</b><br>
<form name='mysql'><textarea rows=\"15\" cols=\"60\">".htmlspecialchars($the_error)."</textarea></form><br>We apologise for any inconvenience</blockquote></body></html>";


	echo($out);

 

вместо них добавить (перед die(""); ):

		echo "<html><head><title>Технические работы</title>";
echo "</head>\r\n";
echo "<body>\r\n";
echo "<b>Форум на техническом обслуживании</b><br />\r\n";
echo "Попробуйте зайти позже. Либо нажмите кнопку<a href=\"java script:window.location=window.location;\"> обновить</a> в вашем браузере.";
echo "<p>Приносим извинения за причиненные неудобства.</p>";
echo "\r\n\r\n</body></html>";

У меня, по крайней мере, работает

Ссылка на комментарий
Поделиться на других сайтах

А я изменил, что бы не мыло отсылалось а в базу загонялось. А мне в Admin CP потом говорило, что были ошибки.

Правда пока чтраницу для просмотра и редактирования ещё не писал... Не знаю надо ли оно? =) Мне проще из базы бекап выхватить и посмотреть что там было.

Ссылка на комментарий
Поделиться на других сайтах

Dareean

Не пиши в базу. Знаеш почему? Да потомучто когда база вдруг будет не доступна записи ты туда не впихнеш.

пиши в файл и его анализируй

Ссылка на комментарий
Поделиться на других сайтах

Если база недоступна то ошибок запроса уж точно никак не будет =)

Но вопрос только вот в чем... А что я смогу сделать если у хостера отсохла база? НИЧЕГО!!! Только пинать самого хостера.

А так, все тип топ =)

Ссылка на комментарий
Поделиться на других сайтах

Если база недоступна то ошибок запроса уж точно никак не будет =)

фиг там

будет ошибка не могу подключится к базе бал-ла и еще чего-то там

да кстати если база не будет доступна а ты будеш логи пихать в нее то ты об этом и не узнаеш )) так что в файл надобно и за пределами веб-папки чтобы был

Ссылка на комментарий
Поделиться на других сайтах

Если читать выше то там написано, как сделать так что бы не вякалось когда отсыхает база =)

так что если база то отсохла, то не можеть быть никаких ошибок базы ))) И в базу кстати в таком случае ничего уже не пихается :D

Ссылка на комментарий
Поделиться на других сайтах

мдя... очень умно ответил

короче, я тебе аргументы привел дальше думай сам

если ты не понимаеш что тебе пишут то рпичем тут те кто пишут

 

Enjoy! :D

Ссылка на комментарий
Поделиться на других сайтах

Блин... Просто ступор...

Смотри выше приводится пример как заглушить базу когда она отсыхает. Потом идет описание как спрятать ошибки, если база работает и где нить неправильнеый запрос например. И ошибки на почту отправляются когда что то не так. А когда база отвалилась ошибки то на почту не отправляются... Так смысл мне записывать все файлы?

---

Сорри, если я где то криво объясняю.

Ссылка на комментарий
Поделиться на других сайтах

А я изменил, что бы не мыло отсылалось а в базу загонялось. А мне в Admin CP потом говорило, что были ошибки.

Правда пока чтраницу для просмотра и редактирования ещё не писал... Не знаю надо ли оно? =) Мне проще из базы бекап выхватить и посмотреть что там было.

 

 

Если база недоступна то ошибок запроса уж точно никак не будет =)

Но вопрос только вот в чем... А что я смогу сделать если у хостера отсохла база? НИЧЕГО!!! Только пинать самого хостера.

А так, все тип топ =)

 

Если ошибка связанная с запросом будет соответствовать ситуации когда мускул недоступен или сбоит, то у вас будет рекурсия (зацикливание). Т.е. выводится ошибка, например too_many_coonections, вы пытаетесь например послать эту "too_many_coonections" к себе на PM, но для этого перед запросом нужно снова подключиться к БД, а там снова too_many_connections и т.д. по бесконечному кругу. В итоге трудно предположить чем это закончится, единственное, что аппач отлупит скрипт спустя минуту, а что будет за эту минуту с мускулом хрен знает, может и ничего.

 

У меня тоже ошибка посылается в базу, но у меня для этого предусмотрен в драйвере специальный флаг, чтобы не было зацикливания, если сама ошибка не может послаться в PM + ещё флуд контроль, чтобы при too_many_coonection не получить 1000 писем в PM :D

Ссылка на комментарий
Поделиться на других сайтах

А я для этого в сессию записываю параметр в котором код ошибки (он генирится отдельный для каждой минуты), и если код повторяется база ничего не шлет (Сонг, в последующий обращениях, старайся лучше на "ты" а то меня аж шкандыбает от "выкания" я лох (мне сам Билл Гейтс об этом сказал) так что не надо меня на "вы" )
Ссылка на комментарий
Поделиться на других сайтах

Song

 

Записываю уникод ( md5(date("dmYHi"); ) в сессию.? потома и соответсвенно проверя $_SESSION['ibf_sql_error'] на наличие, и если есть такой сравниваю свежий код с кодом сессии, если отличаются то записывается ошибка в базу...

/Кстати самое большое кол-во ошибок плодят роботы/

Ссылка на комментарий
Поделиться на других сайтах

ssions library * @version 2.1 */ if ( $this->ipsclass->member['mgroup_others'] ) { $groups_id = explode( ',', $this->ipsclass->member['mgroup_others'] ); /** * Need to reset 0 vals back to mgroup default */ $zero_is_best = array( 'g_max_diskspace', 'g_max_upload', 'g_max_transfer', 'g_max_views', 'g_album_limit', 'g_img_album_limit', 'g_movie_size' ); if ( count( $groups_id ) ) { foreach( $this->ipsclass->cache['group_cache'][ $this->ipsclass->member['mgroup'] ] as $k => $v ) { if( in_array( $k, $zero_is_best ) ) { /** * First, reset, as IPB overwrites the vals */ $this->ipsclass->member[ $k ] = $v; } } foreach( $groups_id as $pid ) { if ( ! $this->ipsclass->cache['group_cache'][ $pid ]['g_id'] ) { continue; } /** * Loop through, redo the 0 vals */ foreach( $this->ipsclass->cache['group_cache'][ $pid ] as $k => $v ) { if( in_array( $k, $zero_is_best ) ) { if( $this->ipsclass->member[ $k ] == 0 ) { continue; } else if( $v > $this->ipsclass->member[ $k ] ) { $this->ipsclass->member[ $k ] = $v; } } } } } } require( $this->ipsclass->gallery_root . "{$actions[$cmd]['lib']}.php" ); $obj = new $actions[$cmd]['lib']; $obj->ipsclass =& $this->ipsclass; $obj->glib =& $this->glib; $obj->start( $actions[$cmd]['param'] ); } } ?>

 

вот такая ошибка выскакивает когда пытаюсь запустить галерею IPB Галерея 2.0.7 и форум IPB 2.0.4

в чем может быть проблема

за рание спосибо

Ссылка на комментарий
Поделиться на других сайтах

!. Пользуемся поиском.

2. Читаем правила

3. Постим по теме.

4. Сцылку на форум, без оной IBR врядли станет помогать.

Ссылка на комментарий
Поделиться на других сайтах

Как-то всё сложно у тебя, ну да ладно.

Роботы ничего не плодят, если скрипт корректно работает.

Ссылка на комментарий
Поделиться на других сайтах

За последнию неделю пять ошибок от Yandex'а сессия его какие то ошибки выдает.

А от юзверей ошибок нет.

 

А насчет сложности... Посоветуй проще :D

Ссылка на комментарий
Поделиться на других сайтах

Я уже написал выше как проще.

За последнию неделю пять ошибок от Yandex'а сессия его какие то ошибки выдает.

дык какие именно?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.