Баг-фикс Недостаточная фильтрация входящих данных
Проблема: Пользователю которому разрешена загрузка файлов на сервер (не картинок), может выйти за пределы разрешенной папки загрузки, а если он имеет администраторский аккаунт на сайте, то и повредить данные скрипта.
Ошибка в версии: Все версии
Степень опасности: Средняя (Высокая при наличии администраторского аккаунта на сайте)
Для исправления откройте файл engine/inc/files.php и найдите:
замените на:
Откройте файл engine/classes/thumb.class.php и найдите:
и добавьте выше:
А вот еще одна интересная инфишка
Ошибка в версии: Все версии
Степень опасности: Средняя (Высокая при наличии администраторского аккаунта на сайте)
Для исправления откройте файл engine/inc/files.php и найдите:
<font color=#660000>$serverfile</font><font color=#8000FF> = </font>trim( htmlspecialchars( strip_tags( <font color=#660000>$_POST</font>['serverfile'] ) ) );
замените на:
<font color=#0000FF>if</font> (<font color=#660000>$member_id</font>['user_group']<font color=#8000FF> == </font>1) <font color=#660000>$serverfile</font><font color=#8000FF> = </font>trim( htmlspecialchars( strip_tags( <font color=#660000>$_POST</font>['serverfile'] ) ) ); <font color=#0000FF>else</font> <font color=#660000>$serverfile</font><font color=#8000FF> = </font>'';
<font color=#0000FF>if</font> ( <font color=#660000>$serverfile</font> != '' ) {
<font color=#660000>$serverfile</font><font color=#8000FF> = </font>str_replace( "\\", "/", <font color=#660000>$serverfile</font> );
<font color=#660000>$serverfile</font><font color=#8000FF> = </font>str_replace( "..", "", <font color=#660000>$serverfile</font> );
<font color=#660000>$serverfile</font><font color=#8000FF> = </font>str_replace( "/", "", <font color=#660000>$serverfile</font> );
<font color=#660000>$serverfile_arr</font><font color=#8000FF> = </font>explode( ".", <font color=#660000>$serverfile</font> );
<font color=#660000>$type</font><font color=#8000FF> = </font>totranslit( end( <font color=#660000>$serverfile_arr</font> ) );
<font color=#660000>$curr_key</font><font color=#8000FF> = </font>key( <font color=#660000>$serverfile_arr</font> );
unset( <font color=#660000>$serverfile_arr</font>[<font color=#660000>$curr_key</font>] );
<font color=#0000FF>if</font> ( in_array( strtolower( <font color=#660000>$type</font> ), <font color=#660000>$allowed_files</font> ) )
<font color=#660000>$serverfile</font><font color=#8000FF> = </font>totranslit( implode( ".", <font color=#660000>$serverfile_arr</font> ) ) . "." . <font color=#660000>$type</font>;
<font color=#0000FF>else</font> <font color=#660000>$serverfile</font><font color=#8000FF> = </font>'';
}
<font color=#0000FF>if</font>( <font color=#660000>$serverfile</font><font color=#8000FF> == </font>".htaccess") die("Hacking attempt!");
Откройте файл engine/classes/thumb.class.php и найдите:
<font color=#660000>$this</font>->img['des']<font color=#8000FF> = </font>imagecreatetruecolor( <font color=#660000>$this</font>->img['lebar_thumb'], <font color=#660000>$this</font>->img['tinggi_thumb'] );
и добавьте выше:
<font color=#0000FF>if</font> (<font color=#660000>$this</font>->img['lebar_thumb'] < 1 ) <font color=#660000>$this</font>->img['lebar_thumb']<font color=#8000FF> = </font>1;
<font color=#0000FF>if</font> (<font color=#660000>$this</font>->img['tinggi_thumb'] < 1 ) <font color=#660000>$this</font>->img['tinggi_thumb']<font color=#8000FF> = </font>1;
Так что вот так делать выводы тока вам!
А вот еще одна интересная инфишка
Ковырял тут дле от нечего делать на досуге, нашел еще одну критическую багу. Все, я заебался. Через несколько дней(после выходных займусь) тут будет vb, которвый писали нормальные кодеры, а не криворукие долбоебы, умеющие только качать права. В какой-то степени нам повезло - нас еще никто не слил. И не сольет, т.к. мы меняем движок :)
P.S. Те, кто юзают дле для серьезных проектов, задумайтесь: ВСЕ сайты, посвященные этой cms, были слиты и/или взломаны: скриптерс, дле.ин.юа, 6дле, савгруп, гс поменьше(типа 8дле или провеббера), осетрина и прочие школоклубы, etc. И эти взломы продолжатся, даю слово. Несколько слов о паблике баз и полных рипов сайтов: идея себя не оправдала. Мы получили популярность у разного рода имбецилов, которые отрывают меня от работы просьбами бесплатно, "как потсан взламай! как буито тибе жалко! да и дениг нет, патом атдам! ты мне не вериш???", сделать следующее: "слить охуенный сайтец", "наказать друга", "праучить ету шкалату, каторая на миня пездит на мегасофте!!11" и т.д. Я устал, я ухожу(с).
P.P.S. Форум, который тут появится, будет далек от поклонения дырявому движку. Основными тематиками будут администрирвоание, php, обсуждения партнерок.
P.S. Те, кто юзают дле для серьезных проектов, задумайтесь: ВСЕ сайты, посвященные этой cms, были слиты и/или взломаны: скриптерс, дле.ин.юа, 6дле, савгруп, гс поменьше(типа 8дле или провеббера), осетрина и прочие школоклубы, etc. И эти взломы продолжатся, даю слово. Несколько слов о паблике баз и полных рипов сайтов: идея себя не оправдала. Мы получили популярность у разного рода имбецилов, которые отрывают меня от работы просьбами бесплатно, "как потсан взламай! как буито тибе жалко! да и дениг нет, патом атдам! ты мне не вериш???", сделать следующее: "слить охуенный сайтец", "наказать друга", "праучить ету шкалату, каторая на миня пездит на мегасофте!!11" и т.д. Я устал, я ухожу(с).
P.P.S. Форум, который тут появится, будет далек от поклонения дырявому движку. Основными тематиками будут администрирвоание, php, обсуждения партнерок.
Источник ru-ua.ws