scanner.php
코드 복사 코드는 다음과 같습니다.
/**************PHP 웹 트로이 목마 스캐너*************************/
/* [ ] 작성자: alibaba */
/* [ ] QQ: 1499281192 */
/* [ ] MSN: weeming21@hotmail.com */
/* [ ] 최초 게시: t00ls.net, 재인쇄 시 t00ls를 표시해 주세요 */
/* [ ] 버전: v1.0 */
/ * [ ] 기능: PHP 트로이 목마 검사 도구의 웹 버전 */
/* [ ] 참고: 검사한 파일이 반드시 백도어일 필요는 없습니다. */
/* 원본 파일을 직접 판단, 검토 및 비교하십시오. */
/* 스캔한 파일이 백도어인지 확실하지 않은 경우 */
/* 분석을 위해 파일을 저에게 보내주시기 바랍니다.*/
/************************************************** *****/
ob_start();
set_time_limit(0);
$username = "t00ls"; //사용목적명
$password = "t00ls"; //设置密码
$md5 = md5(md5($username).md5($password));
$version = "PHP 웹木马扫描器 v1.0";
$realpath = 실제 경로('./');
$selfpath = $_SERVER['PHP_SELF'];
$selfpath = substr($selfpath, 0, strrpos($selfpath,'/'));
define('REALPATH', str_replace('//','/',str_replace('\','/',substr($realpath, 0, strlen($realpath) - strlen($selfpath))) )));
define('MYFILE', 기본 이름(__FILE__));
define('MYPATH', str_replace('\', '/', dirname(__FILE__)).'/');
define('MYFULLPATH', str_replace('\', '/', (__FILE__)));
define('HOST', "http://".$_SERVER['HTTP_HOST']);
?>
<머리>
<스타일>
body{margin:0px;}
body,td{font: 12px Arial,Tahoma;line-height: 16px;}
a {color: #00f;text-꾸밈:underline;}
a:hover{색상: #f00;텍스트 장식:없음;}
.alt1 td{border-top:1px solid #fff;border-bottom:1px solid #ddd;배경:#f1f1f1;padding:5px 10px 5px 5px;}
.alt2 td{border-top:1px solid #fff;border-bottom:1px solid #ddd;배경:#f9f9f9;padding:5px 10px 5px 5px;}
.focus td{ border-top:1px solid #fff;border-bottom:1px solid #ddd;배경:#ffffaa;padding:5px 10px 5px 5px;}
.head td{border-top:1px solid #fff;border-bottom :1px 솔리드 #ddd;배경:#e9e9e9;패딩:5px 10px 5px 5px;font-weight:bold;}
.head td span{font-weight:normal;}
<본문>
if(!(isset($_COOKIE['t00ls']) && $_COOKIE['t00ls'] == $md5) && !(isset($_POST['username']) && isset($_POST['password']) && (md5(md5($_POST['username']).md5($_POST['password']))==$md5)))
{
echo '
';
}
elseif(isset($_POST['사용자 이름']) && isset($_POST['비밀번호']) && (md5(md5($_POST['사용자 이름']).md5($_POST[ 'password']))==$md5))
{
setcookie("t00ls", $md5, time() 60*60*24*365,"/");
echo "登陆成功!";
header( '새로고침: 1; url='.MYFILE.'?action=scan' );
종료();
}
else
{
setcookie("t00ls", $md5, time() 60*60*24*365,"/");
$setting = getSetting();
$action = isset($_GET['action'])?$_GET['action']:"";
if($action=="logout")
{
setcookie("t00ls", "", time() - 3600);
헤더("위치: ".MYFILE);
종료();
}
if($action=="download" && isset($_GET['file']) && Trim($_GET['file'])!="")
{
$file = $_GET['파일'];
ob_clean();
if (@file_exists($file)) {
header("콘텐츠 유형: 애플리케이션/옥텟-스트림");
header("콘텐츠 처리: filename="".basename($file).""");
echo file_get_contents($file);
}
exit();
}
?>
"?> |
=date("Y-m-d H:i:s",mktime())?> 扫描 | 정의 | 출발
|
if($action=="setting")
{
if(isset($_POST['btnsetting']))
{
$Ssetting = 정렬();
$Ssetting['user']=isset($_POST['checkuser'])?$_POST['checkuser']:"php | php? | phtml";
$Ssetting['all']=isset($_POST['checkall'])&&$_POST['checkall']=="on"?1:0;
$Ssetting['hta']=isset($_POST['checkhta'])&&$_POST['checkhta']=="on"?1:0;
setcookie("t00ls_s", base64_encode(serialize($Ssetting)), time() 60*60*24*365,"/");
echo "设置完成!";
header( 'refresh: 1; url='.MYFILE.'?action=setting' );
exit();
}
?>
}
else
{
$dir = isset($_POST['path'])?$_POST['path']:MYPATH;
$dir = substr($dir,-1)!="/"?$dir."/":$dir;
?>
if(isset($_POST['btnScan']))
{
$start=mktime();
$is_user = array();
$is_ext = "";
$list = "";
if(trim($setting['user'])!="")
{
$is_user = explode("|",$setting['user']);
if(count($is_user)>0)
{
foreach($is_user as $key=>$value)
$is_user[$key]=trim(str_replace("?","(.)",$value));
$is_ext = "(\.".implode("($|\.))|(\.",$is_user)."($|\.))";
}
}
if($setting['hta']==1)
{
$is_hta=1;
$is_ext = strlen($is_ext)>0?$is_ext."|":$is_ext;
$is_ext.="(^\.htaccess$)";
}
if($setting['all']==1 || (strlen($is_ext)==0 && $setting['hta']==0))
{
$is_ext="(.+)";
}
$php_code = getCode();
if(!is_readable($dir))
$dir = MYPATH;
$count=$scanned=0;
scan($dir,$is_ext);
$end=mktime();
$spent = ($end - $start);
?>
扫描: 文件 | 发现: 可疑文件 | 耗时: 秒
아니요 |
文件 |
更新时间 |
원래>
| 特征 |
动작품 |
테이블>
}
}
}
ob_flush();
?>