Скрипт поиска шеллов на вашем сервере по ключевым словам Открывает каждый файл в указанной вами директории и во всех подкаталогах и ищет схожесть по ключивым словам при запросе Если в содержании файла найдены ключевые слова, то скрипт выведет путь к этим файлам Требования: PHP4, HTML
<?php
list($m,$s)=explode(chr(32),microtime()); ## Начинаем отсчет ##
define('GENERIC', $m+$s); ## генирации ## echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',"\r\n\r\n",' <html>',"\r\n",' <head>',"\r\n\r\n",' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">',"\r\n",' <title>Мини сканер</title>',"\r\n",' </head>',"\r\n",' <body>'."\r\n\r\n\r\n"; classfile_search{ var $key; var $arr; var $m=0; var $method; var $kolvo=0; functionkolvo(){ return$this->kolvo; } functionfile_search($key,$method){
$key=trim(str_replace(' ',' ',str_replace("\r\n",' ',$key))); $this->method=$method; if($method==1)$key=strtolower($key); $this->key=explode(' ',$key); return; } functiongo_skan($dir){ $this->open_dir($dir);
krsort($this->arr); return$this->arr;} functionopen_dir($dir){ if($is=opendir($dir)){ while(false!==($file=readdir($is))){ if($file!='.' && $file!='..'){ if(is_file($dir.'/'.$file)){
$size=filesize($dir.'/'.$file); if($size>=1){ $this->kolvo++;
$fopen=fopen($dir.'/'.$file,'r');
$list=fread($fopen,$size);
fclose($fopen);
$wiev='';
$m=0; $this->m++; if($this->method==1)$list=strtolower($list); foreach($this->key as $key) { if(strstr($list,trim($key))){
$m++;
$wiev.='=|+|+|='.$key; }} if(!empty($wiev))$this->arr[$m.'.'.$this->m]=$dir.'/'.$file.$wiev;
}}else$this->open_dir($dir.'/'.$file);}}} return; }} if(isset($_POST['search']) && isset($_POST['dir'])){ if(isset($_POST['method']))$method=$_POST['method']; else $method=2;
$class=new file_search($_POST['search'],$method);
$wieF=$class->go_skan($_POST['dir']);
$kolvo=$class->kolvo(); unset($class); if(is_array($wieF)){ print'<div style="background-color: #a0a0a0; color: #550000">Просканированно: '.$kolvo.' файлов.<br>По ключевым словам найдено: '.count($wieF).' файлов.<br></div>'; foreach($wieF as $list){
$list=explode('=|+|+|=',$list);
$count=count($list); print'B Файле: <a href="'.$list[0].'">'.$list[0].'</a> найдено: '.($count - 1).' совпадений согласно запросу!<br>Найдены ключевые слова:<br><div style="background-color: #aaaaff">'; for($i=1; $i<$count; $i++){ print'<font color="red">'.$list[$i].'</font>, '; } print'<br></div>';}}elseprint'По вашему запросу в данной директории не найдено не одного файла!<br><br>'; } elseprint'<div title="Информация по скрипту..." style="background-color: #c0c0c0">Данный скрипт поможет вам отыскать на вашем сервере шеллы/бекдоры... скрипт открывает каждый файл вашего сервера и ищет в них ключевые слова указанные при запросе... данный скрипт просто открывает, ищет схождение с запросом и выводит вам информацию о найденых в файлах ключевых слов... тоесть скрипт не скажет вам что это шелл или бекдор, это вы сами уже должны решать просмотрев содержимое файла, скрипт лиш на много ускоряет и упрощает данную процедуру... не советую прововодить поис сразу по всему серверу если у вас много файлов храниться на хосте... сканируйте каждую папку по очереди... в пративном случае скрипт либо не выполнится до конца либо повесит сервер... старайтесь не применять поиск с "Без учета регистра" это увеличивает нагрузгу на сервер! Все, думаю обьяснил понятно... удачного поиска!<br></div>'; print'<form action="index.php" method="post">Директория (без слэша в конце):<br><input type="text" name="dir" value=".." /><br>Ключевые слова (через пробел):<br><textarea rows="4" cols="15" name="search">rmdir unlink chmod eval mkdir</textarea><br><input type="checkbox" name="method" value="1" /> Без учета регистра<br><br><input type="submit" value="Искать" /></form>'; list($m,$s)=explode(chr(32),microtime()); print'<div title="Информация по функциям" style="background-color: #f0a0a0"><font color="red">rmdir</font>(); - Удаляет директорию (если она пуста)<br><font color="red">unlink</font>(); - Удаляет файл<br><font color="red">chmod</font>(); - Выставляет/изменяет права доступа<br><font color="red">eval</font>(); - Выполняет пхп код<br><font color="red">mkdir</font>(); - Создает директорию<br></div><div align="center">[Ген: <b>'.round(($m+$s)-GENERIC,4).'</b> сек.]<br>Created by RnB aka Up (Влад)</div></body></html>'; EXIT;