php木马webshell扫描器代码_PHP
webshell
复制代码 代码如下:/*
+--------------------------------------------------------------------------+
| Codz by indexphp Version:0.01 |
| (c) 2009 indexphp |
| http://www.indexphp.org |
+--------------------------------------------------------------------------+
*/
/*===================== 程序配置 =====================*/
$dir='cms'; //设置要扫描的目录
$jumpoff=false;//设置要跳过检查的文件
$jump='safe.php|g'; //设置要跳过检查的文件或者文件夹 $jumpoff=false 时此设置有效
$danger='eval|cmd|passthru';//设置要查找的危险的函数 以确定是否木马文件
$suffix='php|inc';//设置要扫描文件的后缀
$dir_num=0;
$file_num=0;
$danger_num=0;
/*===================== 配置结束 =====================*/
extract (GetHttpVars());
if ($m=="edit") Edit();
if ($m=="del") Delete();
if ($check=='check')
{ $safearr = explode("|",$jump);
$start_time=microtime(true);
safe_check($dir);
$end_time=microtime(true);
$total=$end_time-$start_time;
$file_num=$file_num-$dir_num;
$message= " 文件数:".$file_num;
$message.= " 文件夹数:".$dir_num;
$message.= " 可疑文件数:".$danger_num;
$message.= " 执行时间:".$total;
echo $message;
exit();
}
function GetHttpVars() {//全局变量
$superglobs = array(
'_POST',
'_GET',
'HTTP_POST_VARS',
'HTTP_GET_VARS');
$httpvars = array();
foreach ($superglobs as $glob) {
global $$glob;
if (isset($$glob) && is_array($$glob)) {
$httpvars = $$glob;
}
if (count($httpvars) > 0)
break;
}
return $httpvars;
}
function Safe_Check($dir)//遍历文件
{
global $danger ,$suffix ,$dir_num ,$file_num ,$danger_num;
$hand=@dir($dir) or die('文件夹不存在') ;
while ($file=$hand->read() )
{
$filename=$dir.'/'.$file;
if (!$jumpoff) {
if(Jump($filename))continue;
}
if(@is_dir($filename) && $file != '.' && $file!= '..'&& $file!='./..')
{ $dir_num++;
Safe_Check($filename);
}
if (preg_match_all ("/\.($suffix)/i",$filename,$out))
{
$str='';
$fp = @fopen($filename,'r')or die('没有权限');
while(!feof($fp))
{
$str .= fgets($fp,1024);
}
fclose($fp);
if( preg_match_all ("/($danger)[ \r\n\t]{0,}([\[\(])/i",$str,$out))
{
echo "可疑文件:{$filename}
查看代码
删除
";
$danger_num++;
}
}
$file_num++;
}
}
function Edit()//查看可疑文件
{
global $filename;
$filename = str_replace("..","",$filename);
$file = $filename;
$content = "";
if(is_file($file))
{
$fp = fopen($file,"r")or die('没有权限');
$content = fread($fp,filesize($file));
fclose($fp);
$content = htmlspecialchars($content);
}
echo "\r\n";
exit();
}
function Delete()//删除文件
{
global $filename;
(is_file($filename))?($mes=unlink($filename)?'删除成功':'删除失败 查看权限'):'';
echo $mes;
exit();
}
function Jump($file)//跳过文件
{
global $jump,$safearr;
if($jump != '')
{
foreach($safearr as $v)
{
if($v=='') continue;
if( eregi($v,$file) ) return true ;
}
}
return false;
}
?>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











시나리오 설명에서는 실제 프로덕션 환경에 RCE 취약점이 있다고 가정하고 이를 통해 WebShell 환경을 설치할 수 있습니다. 먼저 GetHub에서 취약한 이미지를 가져오기 전에 Centos에 nginx와 tomcat을 미리 설치해야 합니다. nginx 및 tomcat 구성 파일을 구성하고 docker를 사용하여 이미지를 풀다운한 후 취약점을 재현합니다. 1. 먼저 docker 환경을 설정합니다. 2. tomcat에 액세스할 수 있는지 테스트합니다. 위 그림에서 볼 수 있듯이 백엔드 tomcat에 액세스할 수 있습니다. 3. docker에서 nginx 리버스 프록시의 로드 밸런싱을 확인합니다. docker .jsp 텍스트의 lbsnode1에서 개미를 확인하세요.

1. URL을 열어보니 업로드 페이지인 것으로 확인되었습니다. 2. 접미사 php로 파일을 직접 업로드했으나 업로드할 수 없는 것으로 확인되었습니다. 3. BurpSuite를 사용하여 패킷을 캡처하고 접미사를 변경합니다. php5라는 접미사가 붙은 업로드된 파일을 우회합니다. 4. 부엌칼을 사용하여 연결합니다. var/www/html 디렉터리에서 KEY가 있는 파일을 찾습니다. 업로드 페이지이기도 한 다른 URL이지만 업로드 목록이 설정되어 있습니다. 6을 통해 접미사가 .gif.jpg.png인 파일만 업로드하도록 허용합니다. txt 한 문장의 트로이 목마를 작성하고 접미사를 jpg7로 변경합니다. 업로드 시 BurpSiuit를 사용하여 패킷을 캡처하고 표시할 파일 접미사를 수정합니다.

인터넷 보안 문제가 점점 중요해지면서 주요 웹사이트와 애플리케이션의 보안이 점점 더 중요한 문제가 되었습니다. 특히 웹사이트 운영 및 유지 관리에는 유지 관리를 위해 WebShell과 같은 도구가 필요한 경우가 많습니다. 그러나 WebShell은 해커가 자주 사용하며 공격자의 침입 진입점이 됩니다. 이 문서에서는 웹사이트 관리자가 사이트 보안을 향상하는 데 도움이 되는 Pagoda 패널의 WebShell 보안 설정을 소개합니다. 1. WebShell의 개념과 일반적인 용도 1. 개념 WebShell은

로컬 환경 설정 보관된 스크린샷으로 판단하면 상대방의 PHP 버전은 5.6.40이므로 apache+php5.6.40의 테스트 환경을 설정하고자 합니다. virtualbox를 열고 centos 이미지 시스템에 대한 링크를 복사한 후 다음 과정에 따라 구성합니다. 1.apacheyuminstall-yhttpdhttpdhttpd-v서버 버전 설치:Apache/2.4.6(CentOS)서버 빌드:Aug8201911:41:182.php5.6yum-yinstallepel-releaserpm-Uvh 설치https://mi

이 기사에서는 Empire CMS 프레임워크의 Webshell을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

SINE Security에서는 고객의 웹사이트에 대한 웹사이트 취약점 탐지 및 복구 작업을 수행하던 중 해당 웹사이트에 심각한 SQL 인젝션 취약점이 있음을 발견했으며, 해당 웹사이트는 CMS 시스템을 사용하고 PHP 언어로 개발되었으며 mysql 데이터베이스 아키텍처를 사용하고 있었습니다. 이 웹사이트의 소스 코드는 현재 오픈 소스입니다. 특정 CMS는 유료 지식 제공에 초점을 맞춘 소셜 CMS 시스템으로, 현재 인터넷에서는 지식에 대한 결제 수요가 높습니다. 이 시스템은 사용자가 게시한 지식 콘텐츠를 유료로 다운로드할 수 있습니다. 유료 고객에게 읽어보세요. 코드는 상대적으로 간결하며 대부분의 웹마스터가 선호합니다. 이 웹사이트의 취약점은 주로 압축 패키지를 업로드하고 zip 패키지의 w를 참조하는 악성 압축 해제 코드를 구성할 때 발생합니다.

웹쉘이란 무엇입니까? 처음에는 웹서버 관리자가 서버를 원격으로 관리하기 위해 사용하는 스크립트 종류의 약어로 Webshell을 자주 사용했습니다. 나중에 일부 Webshell 관리 도구가 탄생하면서 웹 권한을 얻는 과정이 크게 단순화되어 점차 웹 침입 도구 스크립트라고 불렸습니다. Webshell은 취약점과 다르지만 애플리케이션 취약점이나 서버 취약점(파일 업로드 취약점, 파일 포함 취약점 등)을 이용하여 스크립트 파일을 서버에 업로드하여 후속 악용을 위한 침투 테스트 및 TA0002Execution(실행)에 속합니다. ) ATT&CK 단계. 그림 1TA0002 참조 소스: https

우선 내가 해야 할 일은 업로드된 위치가 어디에 나오는지 찾아보는 것이 아니라는 점을 이해한다. 서버에 로그인하여 웹셸 검사와 타인의 침입 여부를 확인하는 검사를 해야 한다. 백도어 등 신고된 IP 주소는 저희 회사의 IP 주소임에도 불구하고 몇 개의 웹쉘이 누락되어 다른 사람이 성공적으로 업로드했지만 감지되지 않는 경우, 서버가 침입당했다면 어떻게 해야 할까요? 그래서 서버를 점검하러 올라가서 이 웹쉘 킬링 툴을 업로드하고, netstat-anpt와 iptables-L을 사용해 백도어가 설치되어 있는지 확인하고, CPU를 점유하는 마이닝 프로그램이 있는지 확인하는 등의 작업을 하게 됩니다. 여기서 자세히 설명하지 마세요. 다행히 서버는 손상되지 않았고, 이후
