DIFF.BLOG
New
Following
Discover
Jobs
More
Suggest a blog
Upvotes plugin
Report bug
Contact
About
Sign up  
长度扩展攻击
1
·
douyipu
·
Dec. 14, 2022, 3:12 p.m.
Summary
1. 起因:SHA-256哈希函数用于签名不安全 我在PentesterLab上做一道Python语言的Code Review。因为PentesterLab平台不希望 用户对PRO练习发布write-up,所以我简单描述一下代码功能。代码的主要功能是, 当用户选择购买一件商品时,将用户的支付信息提交给在线支付平台(如PayPal, 支付宝等),用户的支付信息由原始的支付信息和支付信息的哈希值2个部分组成。 支付信息的哈希值作为支付信息的签名。我没做出来,没想到是签名的部分出了问题。 return hashlib.sha256(data.encode('utf-8')).hexdigest() 代码有漏洞的原因是,SHA-256哈希函数不能用于签名。因为SHA-256哈希函数对 长度扩展攻击很脆弱,需要使用HMAC函数来获取哈希值。应该改为下面的代码: import hmac key = b'key' return hmac.HMAC(key, data.encode('utf-8'), digestmod=hashlib.sha512).hexdi...
Read full post on douyipu.github.io →
Submit
AUTHOR
RECENT POSTS FROM THE AUTHOR