面试官:啥是请求重放呀?
閱讀本文約花費: 16 (分鐘)重放攻击,这题我真的在面试的时候遇到过,两次。 印象比较深的是第一次遇到这个面试题的时候,也是第一次听到“重放攻击”这个词的时候,一脸蒙蔽,于是我就连蒙带猜的,朝着接口幂等性的方向去答了。 结果就凉了。 要回答怎么防止重放攻击,那么我们得知道啥是重放攻击。 学术上的解释是这样的: 重放攻击(英语:replay attack,或称为回放攻击)是一种恶意或欺诈的重复或延迟有效数据的网络攻击形式。 这可以由发起者或由拦截数据并重新传输数据的对手来执行,这可能是通过IP数据包替换进行的欺骗攻击的一部分。 这是“中间人攻击”的一个较低级别版本。这种攻击的另一种描述是: “从不同上下文将消息重播到安全协议的预期(或原始和预期)上下文,从而欺骗其他参与者,致使他们误以为已经成功完成了协议运行。” 举个简单的例子: 我们程序员日夜操劳的,在按摩店里面办个卡,偶尔去洗个脚放松一下不过分吧。 有一天,我去洗脚的时候对着店员说:给我安排一个 168 价位的,要小伙子啊,按着比较带劲儿,我的卡号是 88888888。 然后我在前台签上了自己的名字,店员就安排了一个精壮的小伙子给我按摩。 没想到我们的对话被其他人听到了,于是他也给店员说:给我安排一个 168 价位的,要小伙子啊,按着比较带劲儿,我的卡号是 88888888。 还模仿了我的签名,在前台签字。 把之前的、正常的请…