FCLT#54751 vroege syntax controle van de HMAC voorkomt veel onzinnige HMAC_TAMPERING AiAi's
svn path=/Website/trunk/; revision=39506
This commit is contained in:
@@ -1340,6 +1340,15 @@ var protectHMAC =
|
||||
future.setMinutes(future.getMinutes() + 3); // Over 3 minuten begint de toekomst :-)
|
||||
// Voorkomt misbruik tijdens zomer/wintertijd wissel
|
||||
var hmacArr = hmac.split(":");
|
||||
if (hmacArr.length != 2 ||
|
||||
hmacArr[0].length != 10 || // 10 cijfers timestamp
|
||||
hmacArr[1].length < 26 || // HMAC_SHA1 is 160bit --> 20 byte --> 20/3*4 is 26 of 27 base64 karakters
|
||||
hmacArr[1].length > 27)
|
||||
{
|
||||
__DoLog("Bad HMAC syntax: {0}".format(hmac), "#ff0000");
|
||||
shared.internal_error("Bad HMAC syntax"); // Net iets minder erg dan een AiAi
|
||||
}
|
||||
|
||||
var createTimeInt = parseInt(hmacArr[0],10);
|
||||
var createTime = new Date(createTimeInt*1000);
|
||||
if (!createTimeInt || !createTime || createTime < expTime || createTime > future)
|
||||
|
||||
Reference in New Issue
Block a user