“#Hash Length Extension Attack” on YouTube

#Hash Length Extension Attack
LEA vulnerability occurs when algorithms such as md5, sha128, sha256, sha512 are used to create a Signature.  Also add the data you want, for example if a vulnerable hash function (such as md5, sha-256) is used to create an Access Token with the guest access level as shown below,

t1 = hash (secret + “_guest”) + “_guest”

You can create an admin token without having a secret (as described above).  This token is created on the server side as follows:

t2 = hash (secret + “_admin”) + “_admin”

But a hacker can create a token different from t2 with the help of LEA with the help of LEA, which is recognized as valid on the server side:

t3 = hash (secret + “_guest” + “_admin”) + “_guest_admin”

Calculating a hash in t3 is complex, requiring knowledge of the padding and stages of the hash algorithm, but using the HashPump tool makes this much easier.

 

https://youtu.be/y87ufdttIag


#Hash Length Extension Attack
آسیب پذیری LEA زمانی رخ می دهد که برای ساخت یک Signature از الگوریتم هایی مانند md5, sha128, sha256, sha512 استفاده شده باشد همچنین طول کاراکتری Secret استفاده شده در Signature مشخص باشد زیرا در این حالت هکر می تواند بدون داشتن Secret یک Signature مورد تایید بسازد همچنین دیتا مدنظر خود را به آن اضافه کند, برای مثال اگر از یک تابع Hash آسیب پذیر (مثل md5, sha-256) برای ساختن Access Token با سطح دسترسی guest به شکل زیر استفاده شده باشد،

t1 = hash(secret + “_guest”) + “_guest”

می توان بدون داشتن secret (همان طور که در بالا توضیح داده شد) Token مربوط به admin را ساخت. این توکن در سمت سرور به این ترتیب ساخته می شود:

t2 = hash(secret + “_admin”) + “_admin”

ولی هکر می تواند با داشتن t1 با کمک LEA توکنی متفاوت از t2 بسازد که در سمت سرور معتبر شناخته شود:

t3 = hash(secret + “_guest” + “_admin”) + “_guest_admin”

محاسبه hash در t3 پیچیده است که نیاز به شناخت padding و stage های الگوریتم هش دارد، اما با استفاده از ابزار HashPump این امر بسیار ساده شده است.