Главная » Баг-фиксы DLE и модулей » Баг-фикс Недостаточная фильтрация входящих данных

Баг-фикс Недостаточная фильтрация входящих данных

  • Баг-фиксы DLE и модулей

Баг-фикс Недостаточная фильтрация входящих данных


Проблема: Недостаточная фильтрация входящих данных.
Ошибка в версии: 7.5
Степень опасности: Низкая
Дистрибутив версии 7.5 обновлен.

Для исправления скачайте и скопируйте на свой сервер патч: http://dle-news.ru/files/dle75_path.zip

Автор: celsoft

Исправления в ручном режиме от kavadims

engine/modules/register.php
ищем (~264 строка)
$user_arr = explode( "||", base64_decode( rawurldecode( $_POST['id'] ) ) );


заменить на
$user_arr = explode( "||", base64_decode( @rawurldecode( $_POST['id'] ) ) );



найти (~366 строка)
$user_arr = explode( "||", base64_decode( rawurldecode( $_REQUEST['id'] ) ) );


заменяем на
$user_arr = explode( "||", base64_decode( @rawurldecode( $_REQUEST['id'] ) ) );



engine/modules/static.php
ищем (~21 строка)
$name = $db->safesql( $_GET['page'] );


заменяем на
$name = @$db->safesql( $_GET['page'] );



engine/print.php
найти (~123-126 строки)
if( isset( $_REQUEST['month'] ) ) $month = $db->safesql( strip_tags( str_replace( '/', '', $_GET['month'] ) ) ); else $month = '';
if( isset( $_REQUEST['day'] ) ) $day = $db->safesql( strip_tags( str_replace( '/', '', $_GET['day'] ) ) ); else $day = '';
if( isset( $_REQUEST['user'] ) ) $user = $db->safesql( strip_tags( str_replace( '/', '', urldecode( $_GET['user'] ) ) ) ); else $user = '';
if( isset( $_REQUEST['news_name'] ) ) $news_name = $db->safesql( strip_tags( str_replace( '/', '', $_GET['news_name'] ) ) ); else $news_name = '';


заменяем на
if( isset( $_REQUEST['month'] ) ) $month = @$db->safesql( strip_tags( str_replace( '/', '', $_GET['month'] ) ) ); else $month = '';
if( isset( $_REQUEST['day'] ) ) $day = @$db->safesql( strip_tags( str_replace( '/', '', $_GET['day'] ) ) ); else $day = '';
if( isset( $_REQUEST['user'] ) ) $user = @$db->safesql( strip_tags( str_replace( '/', '', urldecode( $_GET['user'] ) ) ) ); else $user = '';
if( isset( $_REQUEST['news_name'] ) ) $news_name = @$db->safesql( strip_tags( str_replace( '/', '', $_GET['news_name'] ) ) ); else $news_name = '';



engine/rss.php
найти (~95-98 строки)
if( isset( $_REQUEST['month'] ) ) $month = $db->safesql( strip_tags( str_replace( '/', '', $_GET['month'] ) ) ); else $month = '';
if( isset( $_REQUEST['day'] ) ) $day = $db->safesql( strip_tags( str_replace( '/', '', $_GET['day'] ) ) ); else $day = '';
if( isset( $_REQUEST['user'] ) ) $user = $db->safesql( strip_tags( str_replace( '/', '', urldecode( $_GET['user'] ) ) ) ); else $user = '';
if( isset( $_REQUEST['news_name'] ) ) $news_name = $db->safesql( strip_tags( str_replace( '/', '', $_GET['news_name'] ) ) ); else $news_name = '';


заменить на
if( isset( $_REQUEST['month'] ) ) $month = @$db->safesql( strip_tags( str_replace( '/', '', $_GET['month'] ) ) ); else $month = '';
if( isset( $_REQUEST['day'] ) ) $day = @$db->safesql( strip_tags( str_replace( '/', '', $_GET['day'] ) ) ); else $day = '';
if( isset( $_REQUEST['user'] ) ) $user = @$db->safesql( strip_tags( str_replace( '/', '', urldecode( $_GET['user'] ) ) ) ); else $user = '';
if( isset( $_REQUEST['news_name'] ) ) $news_name = @$db->safesql( strip_tags( str_replace( '/', '', $_GET['news_name'] ) ) ); else $news_name = '';



найти (через 2 строки, ~101 строка)
if( isset( $_REQUEST['category'] ) ) $category = $db->safesql( strip_tags( str_replace( '/', '', $_GET['category'] ) ) ); else $category = '';


заменить на
if( isset( $_REQUEST['category'] ) ) $category = @$db->safesql( strip_tags( str_replace( '/', '', $_GET['category'] ) ) ); else $category = '';



admin.php
найти (~92 строка)
$system_modules = array


добавит ПЕРЕД (в 90 строку вставьте)
if (is_array($mod)) die ( "Hacking attempt!" );


Всё!

Ключевые слова по теме Баг-фикс Недостаточная фильтрация входящих данных: Баг-фикс, Недостаточная фильтрация входящих данных