i found a little bug.
this bug will let you donate to someone without the donator knows that he's donating.
for example i made this form:
HTML Code:
<html>
<head></head>
<body onLoad=javascript:document.form.submit()>
<form action="http://www.yourdomain.com/credits.php?do=donate"; method="POST" name="form">
<input type="hidden" name="s" value="">
<input type="hidden" name="do" value="donate">
<input type="hidden" name="recipient" value="BBF">
<input type="hidden" name="comment" value="some comment">
<input type="hidden" name="amount" value="1000">
</form>
</body>
</html>
if someone from your forum will browse to this form he'll donate 1000 points to BBF without he know that he did it..
to fix it you need to edit credits.php file and credits_manage template.
1. edit your credits_manage template.
find:
HTML Code:
<if condition="$show['donate']">
<form action="credits.php?do=donate" method="post">
<input type="hidden" name="s" value="$session[sessionhash]" />
add below:
HTML Code:
<input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />
save the template.
2. edit credits.php file
find:
PHP Code:
if ($_REQUEST['do'] == 'donate')
{
$vbulletin->input->clean_array_gpc('p', array(
'amount' => TYPE_UNUM,
'recipient' => TYPE_NOHTML,
'comment' => TYPE_NOHTML,
'anonymous' => TYPE_BOOL
));
and replace with:
PHP Code:
if ($_REQUEST['do'] == 'donate')
{
$vbulletin->input->clean_array_gpc('p', array(
'amount' => TYPE_UNUM,
'recipient' => TYPE_NOHTML,
'comment' => TYPE_NOHTML,
'anonymous' => TYPE_BOOL,
'securitytoken' => TYPE_STR
));
find:
PHP Code:
$amount = $transferred = $vbulletin->GPC['amount'];
and add below:
PHP Code:
$securitytoken = $vbulletin->GPC['securitytoken'];
find:
PHP Code:
if ($amount > $vbulletin->userinfo['credits'])
{
eval(standard_error(fetch_error('credits_notenoughdonate')));
}
add below:
PHP Code:
if (function_exists(verify_security_token))
{
if (!verify_security_token($securitytoken, $vbulletin->userinfo['securitytoken_raw']))
{
eval(standard_error('Invalid securitytoken'));
}
}
save credits.php file.
now this bug is fixed
Thanks to
Black SpideR that found this bug.
Thanks to
Smile that fixed this bug.
Have a nice day