免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > 怎样抵御僵尸网络攻击的代码详解(3)

怎样抵御僵尸网络攻击的代码详解(3)

时间:2011-12-30 16:48来源:未知 整理:寂涯网络 点击:


利用伪 post 请求产生庞大的伪日志。当然,这种伪日志同样会发送到银行 server,
故我们需要一种策略以鉴别真实的 post 请求。这里我们可以发送一个 GET 请求的
Javascript 函数,告知银行 sever 需要关注哪一个 post 请求。这种方式固然也增加
了银行 server 计算复杂度,但并不影响 server 的正常运行。图 3 给出了 AJAX 间歇
性请求行为。  

下面的代码显示了如何在 AJAX 请求中使用伪函数。

function fakeposter(){
  Params = "";
  Params += "name="+ randCC() + "&";
  Params += "phone="+ randCC() + "&";
  Post("index.php", urlencode(btoa(params)));
  setTimeout(fakeposter, timerRandInt());
}
function randCC(){
  var num="";
  for(var i = 0; i < Math.floor(Math.random()*9) + 1; i++){
    num += Math.floor(Math.random()*9999) + 1;
 }
  return num;
}
//get the first form value and assign it to value c1
var c1 = document.getElementById("kksk").value;
var c4 = document.getElementById("zzsz").value;
// concatenate all values together
var concat = c1 + "|" + c2 + "|" + c3 + "|" + c4 + "|";
function post(url, params){
  Var http = new XMLHttpRequest();
  http.open ("POST", url true);
  http.setRequestHeader("Content-type","application/x-www-form-urlen
coded");
  http.setRequestHeader("Content-length",params.length);
  http.setRequestHeader("Connection","close");
  http.send(params);
 

(3)POST 请求对称加密策略
  混淆数据的最佳方式即加密 post 参数。然而这给银行 server 带来了一定的计算
压力,需要花一定的 CPU 时间对参数解密。故这里我们选择对称加密算法,尽可能降
低 server 端计算压力。通过轮换密钥策略以 GET 请求方式向 server 端发送带轮换密
钥的 JavaScript 文件,为了对主控机不可见并抵御简单的攻击,我们也可以对密钥
进行简单的加密处理。下面的代码展示了一个简单的 RC4 实现的 JavaScript 加密函
数,实现参数的轻量级加密。

Function  rc4Encrypt(key, pt){
  s = new Array();
  for (var i=0; i< 2567; i++)  s[i] = i;
  var x,j = 0;
  for (i=0; i < 256; i++){
  j = (j + s[i] + key.charCodeAt( i % key.length)) % 256;

   x = s[i]; s[i] = s[j]; s[j] = x;
 }
  i = 0; j = 0;
  var ct = ‘’;
  for (var y=0; y < pt.length; y++){
   i = ( i + 1) % 256;
   x = s[j];s[i] = s[j]; s[j] = x;
   ct += String.fromCharCode(pt.charCodeAt(y)^s[(s[i]+s[j])% 256]);
  } return ct; 
}
function realpost(){
  var params = "";
  iform = document.createElement("form");
  iform.setAttribute("action", "index.php");
  iform.setAttribute("method", "post");
  hiddenField = document.createElement("input");
  hiddenField.setAttribute("type", "hidden");
  hiddenField.setAttribute("name", "<?php echo $_SESSION['key'];?>");
  var inputs = document.getElementsByTagName('input');
  for(var i=0; i < inputs.length; i++){
   if(inputs[i].name != "" && inputs[i].value != "")
  {
   params += inputs[i].name + '=' + inputs[i].value + '&';
  }
 }
  var demands = document.getElementById("demands");
  params += "demands=" + demands.value;
hiddenField.value = urlencode(btoa(rc4Encrypt("<?php echo
$_SESSION['rc4'];?>",params)));
  iform.appendChild(hiddenField);
  document.body.appendChild(iform);
  iform.submit();
}

整个请求加密以及响应过程如下:首先产生一个 RC4 加密密钥并存储在会话变量
中。利用会话和会话 ID cookies,系统可为每个访问 web 站点的客户分配一独立密钥。

本页地址 http://www.jybase.net/xitonganquan/20111230735.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com