黑客24小时接单的网站

黑客24小时接单的网站

基于timestamp的防止重放攻击方案(黑客追款出款收费)

           时间戳通常用于防止重放攻击,但并不能保证每个请求都是一次性的。我今天读了一篇关于如何通过的文章nonce(使用一次性数字)保证一次性有效性。我觉得如果两者结合起来,效果会很好。

           重放攻击是计算机世界黑客中常见的攻击方式之一。重放攻击是指攻击者发送目标主机收到的数据包来欺骗系统,主要用于认证过程。

           首先,让我们明确一下,重放攻击是二次请求。黑客通过抓取包获得请求HTTP然后黑客自己写类似的信息,HTTP请求发送给服务器。也就是说,服务器处理了两个请求,首先是正常的HTTP请求,然后是被篡改的黑客HTTP请求。

           基于时间戳的方案

           每个HTTP所有请求都需要添加时间戳参数,然后时间戳与其他参数签名。因为正常HTTP到达服务器的请求一般不超过60s,服务器收到HTTP请求后,首先判断时间戳参数是否超过当前时间60s,超过的,视为非法请求。

           如果黑客通过抓取包获得我们的请求url:

           在…之中

           $ sign = MD5($uid。$token。$ stime);

           ///服务器可以通过uid读取数据库token12

           一般来说,黑客需要远远超过从包捕到重放的要求60s因此,请求中的时间stime参数失效。

           若黑客将stime将参数修改为当前时间戳,sign由于黑客不知道参数对应的数字签名将失效token因此,没有办法生成新的数字签名。

   黑客追款出款收费

           但这种方法的脆弱性也很明显。60s重放攻击后,没有办法,所以这种方法不能保证请求只有效一次。

           基于随机数的方案

           Nonce这意味着只有效一次的随机字符串。该参数要求每个请求不同,因此该参数通常与时间戳有关。为了方便起见,我们直接使用时间戳的16进制系统。在实际使用中,我们可以使用客户端ip地址、mac哈希处理地址等信息nonce参数使用。

           我们将要求每一个请求nonce存储一个参数“集合”中间,这个集合可以json存储在数据库或缓存中的格式。

           每次处理HTTP请求时,首先判断请求nonce参数是否在“集合”如果存在,则视为非法请求。

           如果黑客通过抓取包获得我们的请求url:

           在…之中

           $ sign = MD5($uid。$token。$ nonce);

           //服务器可以通过uid读取数据库token12

           第一个请求nonce当参数时,它已经存储在服务器上“set”重新发送请求将被识别和拒绝。

           nonce作为数字签名的一部分,参数不能被篡改,因为黑客不知道令牌,所以不能生成新的签名。

           这种方法还有一个大问题是存储nonce参数的“集合”验证会越来越大“集合”中是否存在nonce时间会越来越长。我们不能让nonce集无限大,需要定期清洗,但一旦清洗,清洗后无法验证nonce参数。也就是说,假设平均每天清理一次“集合”,虽然我们不能重放攻击当时捕获的攻击url,但我们仍然可以在第二天重放攻击。此外,在24小时内存储所有请求。“nonce”参数不小。

           方案基于时间戳和随机数

           如果我们同时使用时间戳和时间戳nonce参数会怎么样?

           一次性nonce时间戳参数可以解决60s时间戳可以解决问题nonce参数“集”问题越来越大。

           在时间戳计划的基础上,我们增加了nonce因为超过了参数60s的请求,timstamp参数被认为是非法的,所以我们只需要存储60s的nonce参数“set”。

           如果黑客通过抓取包获得我们的请求url:

           在…之中

           $ sign = MD5($uid。$token。$stime。$ nonce);

           ///服务器可以通过uid读取数据库token12

           如果HTTP请求在60s如果内部被重放,将被判定为非法请求,因为在第一次请求中,nonce服务器中已记录的参数nonce参数“set”中间。超过60秒后,时间参数将失效。此时,由于黑客不知道,无法重生签名。token的值。

           综上所述,我们认为这是正常的HTTP请求发送时间不超过60s,60s重放攻击可以通过nonce保证参数超过60s重放攻击可以通过stime保证参数。

           因为nonce参数只在60s它是有效的,所以你只需要保存它60s内的nonce参数。

           我们不必每60秒清洗一次nonce参数集。当新的随机数到达时,我们只需要判断随机数集的最终修改时间。如果超过60秒,我们将删除该集并存储一个新的nonce参数集。实际上,nonce参数集可以存储更长的时间,但至少60s。

           验证过程

           //确定stime参数是否有效。

           如果($now - $stime > 60){

           Die("请求超时");

           }

           //确定nonce是否存在参数“Set”中

           if(in _ array $ nonce,$nonceArray) ){

           Die("请求只有效一次");

           }

           //验证数字签名

           如果($签!= MD5($uid。$token。$stime。$nonce) ){

           Die("数字签名验证失败");

           }

           //确定nonce集合是否需要清理。

           if($ now-$ non cearray--> lastModifyTime > 60){

           $ nonceArray = null

           }

           ///记录此请求nonce参数。

           $ nonce array . push($ nonce);

           //开始处理合法请求?1234567881111213125

           参考文章:

           http://www . 360 doc . com/content/14/0116/16/834950 _ 345740386 . shtml

                                                                                                                                               
  • 评论列表:
  •  绿邪好怪
     发布于 2022-08-09 13:59:51  回复该评论
  • 当前时间戳,sign由于黑客不知道参数对应的数字签名将失效token因此,没有办法生成新的数字签名。                但这种方法的脆弱性也很明显。
  •  假欢寂星
     发布于 2022-08-09 10:55:17  回复该评论
  •                                                                        

发表评论:

«    2023年7月    »
12
3456789
10111213141516
17181920212223
24252627282930
31
文章归档
最新留言

Powered By

Copyright Your WebSite.Some Rights Reserved.