Created
June 7, 2013 12:48
-
-
Save wolffe/5728993 to your computer and use it in GitHub Desktop.
This file searches for a particular string inside your files. Replace "wso" in line 31 with anything you want and it will search all your files for that string. A list of possible patterns is commented at the top.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* POSSIBLE PATTERNS="passthru|shell_exec|system|phpinfo|base64_decode|popen|exec|proc_open|pcntl_exec|python_eval|fopen|fclose|readfile" | |
*/ | |
ini_set('max_execution_time', '0'); | |
ini_set('set_time_limit', '0'); | |
find_files('.'); | |
function find_files($seed) { | |
if(!is_dir($seed)) return false; | |
$files = array(); | |
$dirs = array($seed); | |
while(NULL !== ($dir = array_pop($dirs))) { | |
if($dh = opendir($dir)) { | |
while(false !== ($file = readdir($dh))) { | |
if($file == '.' || $file == '..') continue; | |
$path = $dir . '/' . $file; | |
if(is_dir($path)) { | |
$dirs[] = $path; | |
} | |
else { | |
if(preg_match('/^.*\.(php[\d]?|js|txt)$/i', $path)) { | |
check_files($path); | |
} | |
} | |
} | |
closedir($dh); | |
} | |
} | |
} | |
function check_files($this_file) { | |
$str_to_find = 'wso'; // the string(code/text) to search for | |
if(!($content = file_get_contents($this_file))) { | |
echo("<p>Could not check $this_file</p>\n"); | |
} | |
else { | |
if(stristr($content, $str_to_find)) { | |
echo("<p>$this_file -> contains $str_to_find</p>\n"); | |
} | |
} | |
unset($content); | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment