Форум о защите от: хакеров, взлом, раскрутка, хакер, вирусы, взлом программы, взлом паролей, взлом вконтакте, взлом icq, раскрутка сайта, взлом скачать, взлом почты, взлом ru, проги взлома, хакер, программа взлома, трояны, программирование
http://forum.ahack.ru/

Антивирус на php
http://forum.ahack.ru/topic43.html
Страница 1 из 1

Автор:  BECHED [ 23-05, 17:26 ]
Заголовок сообщения:  Антивирус на 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 =))
ЗУФСУ !


(c) r0

Автор:  Dimi4 [ 11-03, 20:42 ]
Заголовок сообщения: 

Имхо бред, веть надо вписывать все имена допустимых файлов :razz:

Автор:  CrazYVeNik [ 13-02, 05:24 ]
Заголовок сообщения: 

в каком-то двиге есть такой плагин, помоему в вобле

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/