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

5-09-2018, 14:53
342
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 исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое!"
Опубликовал администратор
Похожие публикации
Нужен баннер,а создать не можете? тогда вот
 Вы давно искали где онлайн создать баннер? то тогда сервис Создать баннер поможет вам за считанные секунды создать баннер в том мире в котором вы хотите.
Значок 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
Приветствую всех фермеров. Продолжаем серию статей по защите скрипта фруктовой фермы .Как из названия ясно говорить мы будем о том как защитить ферму от инекции .
Комментарии
Добавить комментарий
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Топ Комментарии Архив
soroca пишет:
mitji42,А если видео посмотреть то все ясно становится,или же описание посмотреть
qwerty100 пишет:
обновите ссылку нету ничего
qwerty100 пишет:
обновите ссылку ее нету
Дмитрий
mitji42 пишет:
а где установачный фаил  install.php
Всего на сайте: 6
Пользователей: 0
Гостей: 6