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:
Jos Groot Lipman
2018-10-24 16:10:43 +00:00
parent 13ade7eb65
commit de758fb6fe

View File

@@ -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)