Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

13.04.2007, 00:44
|
|
Постоянный
Регистрация: 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>Ахтунг! Подозрительный файл »» ".$files."</b></font><br />";
}
}
?>
</center>
</body>
</html>
Поясню.
Моя логика была такова: имеется массив с названием папок(он же $dir), из которого затем извлекаются имена файлов, у которым делаем обрезание(по расширению) и если этой php-файл заносив его в новый массив, элементы которого проходят проверку на вшивость из уже имеющегося массива заданных файлов.
P.S Конечно, если хеккер проникает внутрь то он может залить свой шелл как index-файл в любую диру, но это представляет опасность с точки зрения многих искателей приключений, хочется как бы затаиться, поэтому и придумывают имена отличные от index.php =))
ЗУФСУ !
|
|
|

13.04.2007, 00:52
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
вообще от такой фигни пользы практически нет.
|
|
|

13.04.2007, 00:54
|
|
Постоянный
Регистрация: 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..
|
|
|

13.04.2007, 00:54
|
|
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме: 9751364
Репутация:
1847
|
|
проникнувший на саент хэкка может внедрить злостный код прямо в антивирус и он будет писать чтонибудь матное или работать не так как полагается или просто удалить или он просто ... вот так вот =\
|
|
|

13.04.2007, 01:01
|
|
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме: 1665310
Репутация:
488
|
|
2KSURi:
Огасики.. Тогда уж сообщение на сотовый =)
Я не кожу на баше =/
вообще от такой фигни пользы практически нет.
Может и да =) Мне нравиться мыслить
злостный код прямо в антивирус
к0к0й уж0с.. надо уд0лить пока он не написал моей маме, что меня похекали...
|
|
|

13.04.2007, 01:03
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
2r0
фишка не в мыле, фишка в том, чтобы хакер не имел доступа к скрипту авира.
|
|
|

13.04.2007, 01:05
|
|
Постоянный
Регистрация: 17.07.2005
Сообщений: 475
Провел на форуме: 1665310
Репутация:
488
|
|
Ну да, ты прав..
|
|
|

13.04.2007, 01:08
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
еще вариант в зенде его зашифровать.
|
|
|

13.04.2007, 01:13
|
|
Постоянный
Регистрация: 17.09.2005
Сообщений: 375
Провел на форуме: 993362
Репутация:
175
|
|
Я нечто подобное писал, даже где-то сохранилось. Мой скрипт искал новые файлы, и если файл подпадал под критерий опасности посылала мне на мыло информацию.
+ проверял размеры всех существующих файлов с теми же размерами хранящимися в базе. Эта проверка раз в сутки запускалась.
Отдельно можно было запустить проверку контента новых и измененных файлов на предмет наличия "опасных функций".
Вещь на самом деле полезна для тех кто любит устраивать на ФТП своего сайта свалку, так что потом в случае чего хрен поймешь что твое а что чужое.
|
|
|

13.04.2007, 15:50
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
Сообщение от GreenBear
еще вариант в зенде его зашифровать.
Zend не спасение, Zend платный... Проще уж стандартными средствами
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|