ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Антивирус на php.
  #1  
Старый 13.04.2007, 00:44
Аватар для r0
r0
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме:
1665310

Репутация: 488
По умолчанию Антивирус на php.

Идея.
Скажем, у Вас есть свой проект (пусть тот же хеко-саент) который Вы холите и лелеете.
Но Вам постоянно докучают злобные хэккеры, ужасающе втыкивающие кавычку в адресную строку и пишущие алерт(/лол/) в Ваших комментах.
Да мы не идеальны, допустить одну брешь можно и да наверно, скорее, нужно. Писать без ошибок не получается только у тех, кто не пишет ничего. Ну так вот, допустим писали вы свой проект и допустили такую маленькую ошибочку, а злобный хакер применив свой талант втыкивать в нужное место кавычку и хеккерский прием (инто аутфайл) закатал Вам свой шелл.
А теперь надену галстук и скажу немного серьезнее.
Вчера мне пришла нетрезвая мысль написать «антивирус» для своего блога. Из всего выше изложенного бреда, можно уяснить, что данный скрипт будет искать гадкие веб шеллы.

Приступ к алгоритмизации и последующей реализации.
PHP код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>r0: АнтивирУс f0r pr0j3c7</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
</head>
<body>
<center>
Ant1v1rus


<?php
############ Подготовка к поиску вредоносных программ ################


// Врезаем файл настроек
include "config.php";


###################################################
// Заваливаем массив списком нужных нам директорий
$dir = array("../dir1/","../dir2/","../dir3/","../dir4/","../","../../","../../images/");
// Расширение для сортировки
$extentions = array(".php");
// масссив из безопасных php-файлов файлов
$safe_files = array("index.php","about.php","add.php""xek.php""antivir.php""comments.php""xekker.php""files.php""admin.php""myshell.php""navigation.php""work.php""bottom.php","config.php","top.php","main.php","papers.php","search.php","lol.php");

###################################################
// Каждый элемент массива - как отдельную директорию

foreach ($dir as $get_dir) {

// Открываем хэндл директории
$dir_handle opendir($get_dir);
// Получаем данные из директории
while ( false !== ($file readdir($dir_handle)) ) {

// Находим файлы с расширением пэхопэ
$ext strtolower(strrchr($file"."));
// Отсортируем все пэхопЭ файлы
if ( in_array($ext$extentions) ) {
// Собираем новый массив из php-файлов
$php_files[] = $file;
}


}
}

#### АнтивируЗ #########
// Делаем проверку, содержится ли данный файл с расширением php
// в массиве безопасных файлов , если его там нет, пишем "Варненг!"
foreach ($php_files as $files) {

if ( !
in_array($files,$safe_files) )
{
echo 
"<font color=’#147018’ > <b>Ахтунг! Подозрительный файл &raquo;&raquo; ".$files."</b></font><br />";
}
}
?>
</center>
</body> 
</html>
Поясню.
Моя логика была такова: имеется массив с названием папок(он же $dir), из которого затем извлекаются имена файлов, у которым делаем обрезание(по расширению) и если этой php-файл заносив его в новый массив, элементы которого проходят проверку на вшивость из уже имеющегося массива заданных файлов.

P.S Конечно, если хеккер проникает внутрь то он может залить свой шелл как index-файл в любую диру, но это представляет опасность с точки зрения многих искателей приключений, хочется как бы затаиться, поэтому и придумывают имена отличные от index.php =))
ЗУФСУ !
 
Ответить с цитированием

  #2  
Старый 13.04.2007, 00:52
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

вообще от такой фигни пользы практически нет.
 
Ответить с цитированием

  #3  
Старый 13.04.2007, 00:54
Аватар для KSURi
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

А что мешает хакеру, залившему шелл, добавить его в список разрешенных?
Имхо такую вещь надо реализовывать так: делать скрипт на баше, который раз в Н часов (по крону) проверяет папку на наличие подозрительных файлегов и в случае обнарежения оных отправляет админу письмо.

Примерно, вот так:
Код:
my $dir = '/usr/local/bin/apache/htdocs';
my @files = qw(index.php guestbook.php forum.php);

foreach my $toCheck(<$dir/*.php>)
{
  my $valid = 0;
  foreach my $pattern(@files) { $valid = 1 if $toCheck =~ /$pattern/ }
  sendMail(...) unless $valid;
}

Последний раз редактировалось KSURi; 13.04.2007 в 01:01..
 
Ответить с цитированием

  #4  
Старый 13.04.2007, 00:54
Аватар для tclover
tclover
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме:
9751364

Репутация: 1847


По умолчанию

проникнувший на саент хэкка может внедрить злостный код прямо в антивирус и он будет писать чтонибудь матное или работать не так как полагается или просто удалить или он просто ... вот так вот =\
 
Ответить с цитированием

  #5  
Старый 13.04.2007, 01:01
Аватар для r0
r0
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме:
1665310

Репутация: 488
По умолчанию

2KSURi:
Огасики.. Тогда уж сообщение на сотовый =)
Я не кожу на баше =/

Цитата:
вообще от такой фигни пользы практически нет.
Может и да =) Мне нравиться мыслить

Цитата:
злостный код прямо в антивирус
к0к0й уж0с.. надо уд0лить пока он не написал моей маме, что меня похекали...
 
Ответить с цитированием

  #6  
Старый 13.04.2007, 01:03
Аватар для KSURi
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

2r0
фишка не в мыле, фишка в том, чтобы хакер не имел доступа к скрипту авира.
 
Ответить с цитированием

  #7  
Старый 13.04.2007, 01:05
Аватар для r0
r0
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме:
1665310

Репутация: 488
По умолчанию

Ну да, ты прав..
 
Ответить с цитированием

  #8  
Старый 13.04.2007, 01:08
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

еще вариант в зенде его зашифровать.
 
Ответить с цитированием

  #9  
Старый 13.04.2007, 01:13
Аватар для Abra
Abra
Постоянный
Регистрация: 17.09.2005
Сообщений: 375
Провел на форуме:
993362

Репутация: 175
По умолчанию

Я нечто подобное писал, даже где-то сохранилось. Мой скрипт искал новые файлы, и если файл подпадал под критерий опасности посылала мне на мыло информацию.
+ проверял размеры всех существующих файлов с теми же размерами хранящимися в базе. Эта проверка раз в сутки запускалась.
Отдельно можно было запустить проверку контента новых и измененных файлов на предмет наличия "опасных функций".

Вещь на самом деле полезна для тех кто любит устраивать на ФТП своего сайта свалку, так что потом в случае чего хрен поймешь что твое а что чужое.
 
Ответить с цитированием

  #10  
Старый 13.04.2007, 15:50
Аватар для KSURi
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

Цитата:
Сообщение от GreenBear  
еще вариант в зенде его зашифровать.
Zend не спасение, Zend платный... Проще уж стандартными средствами
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ