ReviewA well-designed site, but there are many issues.
First the big stuffCSRF vulnerabilityThere is a major CSRF[1] vulnerability in various parts of your website. A malicious attacker can exploit this vulnerability to steal funds from bettors. Please PM me if you need any more information on this issue.
Most visible is the withdrawal script. An attacker can update the withdrawal destination and withdraw arbitrary amounts from user balance. A malicious webpage contains two inline frames, one of which updates the withdrawal address through a POST to
http://ebitcoinbetting.com/account.php?id=2&a=1, and the other which withdraws money through another POST to
http://ebitcoinbetting.com/account.php?id=2&a=2.
As far as I can tell, this isn't a problem with the password change form because the old password is required. This is also not likely a problem with betting, as there is a confirmation screen for that. Confirmations screens are generally poor at solving CSRF attacks, however, and care should be taken.
(On a related note, withdrawal does not currently work. The error given is:)
Catchable fatal error: Object of class mysqli_stmt could not be converted to string in /home3/dokula/public_html/ebit/account.php on line 186
Some thoughtsCombined login/registerThe combined login/register form is a bad idea. When I went to log in, I had to scroll down to see the “Login” button and initially thought I should fill my information in the upper form, which was instead for “Register”ing.
Logo discrepancyThe logo, which says “EBitCoingBetting”, is confusing. The site's name is given elsewhere as “EBitcoinBetting”, without the “g” that follows the “Bitcoin”. Regardless of whether this is an error or an intentional discrepancy, it is a source of confusion. Brand should be unified, even if the difference is only a “g”.
Cosmetic balance display issueOn two separate occasions, the “Balance in use” shows nothing when no balance is being used. See:
and
.
Username issue?On the deposit page, my username is displaying thus:
Hey, l3jNF!
The username I signed up with is not l3jNF. I'm not sure what this is. Perhaps this is intentional, but clarification would be helpful if that is the case.
Bet sizesThe minimum bets for all the ones I can see is 0
.21 BTC. Not sure if this is intentional, again, but it certainly makes testing the bet system hard, since we only have 0
.1 BTC to work with...