webForumDet fria alternativet

Javascripts verkar inte alltid avaktiveras i Firefox?

1 svar · 295 visningar · startad av UlfT

UlfTMedlem sedan maj 20016 050 inlägg
#1

På ett annat vbulletinforum var det en som hade ett problem med att registrera sig. Han fick problem med att lösenordet inte accepterades. Genom testregistreringar, kom jag fram till att det faktiskt gick att registrera sig. Då kollade jag vad som egentligen görs vid en registrering. Följande javascript-kod gör en enkel validering av lösenordet, samt en md5-hash:

<script type="text/javascript">
function verify_passwords(password1, password2)
{
	// do various checks, this will save people noticing mistakes on next page
	if (password1.value == '' || password2.value == '')
	{
		alert('Var v&auml;nlig och fyll i b&aring;da l&ouml;senordsf&auml;lten.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('De angivna l&ouml;senorden st&auml;mmer inte med varandra.');
		return false;
	}
	else
	{
		

		var junk_output;
		
		md5hash(password1, document.forms.register.password_md5, junk_output, 0);
		md5hash(password2, document.forms.register.passwordconfirm_md5, junk_output, 0);
		
		
		
		return true;
	}
	return false;
}
</script>

Därefter postas resultatet till forumet:

<form action="register.php" name="register" method="post" onsubmit="return verify_passwords(password, passwordconfirm);">
<input type="hidden" name="s" value="" />
<input type="hidden" name="do" value="addmember" />
<input type="hidden" name="url" value="http%3A%2F%2Fwww.<forum>.com%2Fforums%2Findex.php" />
<input type="hidden" name="agree" value="1" />
<input type="hidden" name="password_md5" />
<input type="hidden" name="passwordconfirm_md5" />

Min tanke var att användaren kanske hade avaktiverat javascript. I så fall skulle ingen validering kunna ske. Inte heller skulle lösenordet kunna md5-hashas. Alltså prövade jag med att registrera en dummy-användare med javascript avaktiverat. Registreringen gick igenom helt utan klagomål. Hade javascriptet verkställts trots att javascript är avaktiverat? Om inte, varför hade inga klagomål kommit? Kanske för att formuläret verkställs hur som helst, oavsett om javascriptet har gjort sitt, tänkte jag. Om det är på det viset, bör inte lösenordet ha kunnat md5-hashats. Då borde rimligtvis någon tom sträng ha skickats istället för md5-hashet. Jag kollade i databasen för min testanvändare. Där fanns verkligen något som såg ut som ett vanligt md5-hash för lösenordet. Hur gick det till? Lösenordet i klarspråk, skickas ju aldrig. Så forumets programvara kan ju knappast md5-hasha det på serversidan. Alltså måste det ha md5-hashats på klientsidan, dvs i javascriptet. Men jag hade ju avaktiverat javascript för den testen. Varför verkställdes javascriptet trots denna avaktivering?

Forumets programvara är vbulletin 3.5.
Jag använder Firefox 1.5.0.3.

nitro2k01Medlem sedan aug. 20037 630 inlägg
#2

Och lite dumt verkar det även vara att skicka hash av båda lösenordsrutorna, när dessa faktiskt kollas för likhet i javascript-funktionen.

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb