18
Nov
Nov

第一次接触这个名字的人可能有些茫然,其实简单的来说就是会话劫持(Session hijack)就是其中的一种。获取session可以通过sniff http实现,但是可能比较难,另外一种就是盗cookie。其实 SESSION 就是COOKIE,区别就是SESSION存储在服务器上,而COOKIE放在客户机上。至少我是这么理解的,如果有大侠可以给出更详细的区分,就最好了。
对简单的GET请求而言,对分类鉴别方案实行回放式攻击是没有什么意义的,因为偷听者早已通过回放得到了他所能得到的唯一文件。这是因为被请求文件的URI已经在客户端请求中进行了分类,服务器将只传递这个指定文件。而在基本鉴别方案下则不同,偷听者会得到用户的口令,从而得到受此口令保护的任何文件。
因而,从某种目的上看,防范回放式攻击还是必要的。一个好的分类鉴别的实现可以通过多种方式来解决这个问题。服务器产生nonce值是与实现无关的,但是如果它包含了客户IP、时间戳、资源的Etag及私有服务器密钥(如上面所建议的),将增大回放式攻击的难度。攻击方必须必须让服务器相信请求是来自一个错误的IP地址,从而导致服务器将要发送的文件发到偷听者指定的IP而不是原来的IP地址。 攻击方只有在时间戳过期前才有可能取得成功。对nonce中的客户IP及时间戳进行分类将允许实现程序不必对事务间的状态进行维护。
对应用程序而言,如果无法容忍可能存在的回放式攻击,可使用时间少于1秒的一次性nonce值。当然,这会增加服务器的额外开销,如,服务器要记住在nonce时间戳(用来进行分类的)过期前,哪些nonce值已经用过了。不过对于回放式攻击,该方法很有效。
