Защищаем свой сайт от взлома через картинку (аватарку)

5-09-2018, 14:53
179
0
Перебирая код увидел, что там  дыра в одном из скриптов. Не так. Дырищааааааа, которая позволяет загружать shell скрипты. Если коротко, то благодаря shell можно получить полный доступ к сайту
Дыра в модулях, где есть загрузка картинок (баннер 468*60, баннер 100*10, баннер 88*31, аватар и т.д.)
Править я всё буду на примере загрузки баннера 468*60. С изначальным кодом можно ознакомиться здесь 

Сразу после
if (isset($_POST["url"]))

{
Мы вставляем “защитный” код

$filename=$_FILES['banfile']['name'];

 $filetype=$_FILES['banfile']['type'];

$filename = strtolower($filename);

$filetype = strtolower($filetype);

//check if contain php and kill it

$pos = strpos($filename,'php');

if(!($pos === false)) {

die('error');

}

$file_ext = strrchr($filename, '.');

//check if its allowed or not

$whitelist = array(".jpg",".jpeg",".gif",".png");

if (!(in_array($file_ext, $whitelist))) {

die('not allowed extension,please upload images only');

}

$pos = strpos($filetype,'image');

if($pos === false) {

die('error 1');

}

$imageinfo = getimagesize($_FILES['banfile']['tmp_name']);

if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg'&& $imageinfo['mime'] != 'image/jpg'&& $imageinfo['mime'] != 'image/png') {

die('error 2');

}

//check double file type (image with comment)

if(substr_count($filetype, '/')>1){

die('error 3')

}
Всё, поздравляю. Ваш сайт теперь защищён. Должно у Вас получиться вот так


Но так же есть много других более простых способов.

 


!!!ВНИМАНИЕ!!! Данный материал предоставлен сайтом f-ferma.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое!"
Опубликовал administrator1
Похожие публикации
Нужен баннер,а создать не можете? тогда вот
 Вы давно искали где онлайн создать баннер? то тогда сервис Создать баннер поможет вам за считанные секунды создать баннер в том мире в котором вы хотите.
Значок new, при появлении новости для FF
1) открываем файл /pages/_news.php и в конец файла вставляем следующий код <?php setcookie("last_read", time(), time()+31536000, '/'); ?> 2) открываем файл /inc/_menu_top.php и меняем <li><a href="/news" <?=(isset($_GET["menu"]) AND strtolower($_GET["menu"]) == "news") ? 'class="current"' : False; ?>>Новости</a></li> на <li><a href="/news"
Путь к админке в скрипте фруктовой фермы
И так сегодня я расскажу вам как можно узнать путь к админке в скрипте Fruit Farm. Многие до сих пор не знают как это сделать. Все очень просто , для начала скачиваем скрипт фруктовой фермы на компьютер, после распаковываем, идем по пути pages/admin Открываем файл login.php в любом удобном текстовом редакторе , рекомендую программу NOTE++ (ссылка на скачку внизу поста) и видим такой
Защита от SQL инекции в скрипте ff
Приветствую всех фермеров. Продолжаем серию статей по защите скрипта фруктовой фермы .Как из названия ясно говорить мы будем о том как защитить ферму от инекции .
Комментарии
Добавить комментарий
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Топ Комментарии Архив
Anasta
Anasta пишет:
Очень понравился сайт! Админ молодец! Много таких скриптов продают!  Только вот некоторые не скачать, тут нет ссылки   
Orel
orel пишет:
Увы но капча при регистрации не работает. Пока не понял как подправить.
Всего на сайте: 4
Пользователей: 0
Гостей: 4