讠己 —— 冫欠 自 云力 扌仓 石马

0x00

  某演唱会的票非常难买,难点在于首先得是粉丝俱乐部年费会员,是年费会员才能抢一个用来抢票的码,用这个码才有资格去票务网上买票。这个艺人的粉丝数量是千万级的,想在那开抢的时候在一堆502里面挤到一点资源,许多人会开个浏览器、多个标签页甚至多台电脑同时提交请求。那么何不让机器帮我们抢呢,因此以下应运而出。

0x01 GreaseMonkey&脚本

  第一件事情就是研究一下网页。当时的页面大致是这样的:

1135245-20170826232923652-212184985.jpg

  用chrome开发者工具(F12)这一前端利器查看网页结构

1135245-20170826232935996-2083776001.jpg

  结果发现抢码按键的执行脚本赫然写在那里

<script type="text/javascript">function surego(area){
    if(area == 0){
      $("#tips").html('活动暂时关闭');
      $("#uurl").html('<a href="/" class="a1">回到首页</a>');
      $(".qdtcfr").show().find(".qdtc_c").css({ "margin-top": "-" + $(".qdtc_c").height() / 2 + "px" });
    }else{
      $.ajax({
        type: 'POST',
        url: "/sign/getbuycode",
        dataType:'json',
        data: {'area':area},
        beforeSend:function(){
          // $("#city").append("<a>loading...</a>");//
        },
        success:function(re){
          if(re.status == 0){
            $("#tips").html(re.info);
            if(re.title == "去登录"){
              $("#uurl").html('<a href="'+re.url+'" class="a1">'+re.title+'</a>');
            }else if(re.title == "回到首页"){
              $("#uurl").html('<a  href="'+re.url+'" class="a1">'+re.title+'</a>');
            }else{
              $("#uurl").html('<a target="_blank" href="'+re.url+'" class="a1">'+re.title+'</a>');
            }
            $(".qdtcfr").show().find(".qdtc_c").css({ "margin-top": "-" + $(".qdtc_c").height() / 2 + "px" });
          }else{
            alert(re.info);
            // $("#tips").html(re.info);
            // $("#vcode").val(re.code);
            // $("#uurl").html('<p class="p5">请保存好该号码,等待永乐通知正式开票时间,凭借此码进行购买!</p>');
          }
        },
        error:function(){
          alert("数据加载失败");
        }
      });
    }
  }
  $(".qdtcfr a.qd_close").click(function () {
    $(".qdtcfr").hide();
  });
  $(".zly_nr3 a").each(function () {
    $(this).click(function () {
      $(".qdtcfr").show().find(".qdtc_c").css({ "margin-top": "-" + $(".qdtc_c").height() / 2 + "px" });
    });
  });
  $(".qdtc_02 a.a2").click(function () {
    $(".qdtcfr").hide();
  });
  // $(".qdtc_02 a.a1").click(function () {
    //     $(".qdtcfr").hide();
    // });</script>

  那么,循环就好喽~

  立马改用Firefox打开页面,用油猴来加载我们自动抢码脚本,记得限制一下脚本执行的页面的url,要不然开任何页面都执行,产生的流量就多了。

1135245-20170826233011089-1458952170.jpg

1135245-20170826233023699-1906047287.jpg

// ==UserScript==
// @name        tfent autogetbuycode
// @namespace   AGBC
// @description TO AUTOMATIVELY GET BUYCODE
// @include     http://www.tfent.cn/sign/show?id=1
// @version     1
// @grant       none
// ==/UserScript==
setInterval(function () {//这个函数就是用来循环的,第一个参数是要执行的函数,第二个参数是每两次执行的间隔时间的毫秒数
  $.ajax({
    type: 'POST',
    url: '/sign/getbuycode',
    dataType: 'json',
    data: {
      'area': 2
    }, //改区域码的位置
    beforeSend: function () {
      // $("#city").append("<a>loading...</a>");//显示加载动画
    },
    success: function (re) {
      if (re.status == 0) {
        //alert("Damn it!!!!!!")
        return;
      } else {
        alert(re.info);//成功抢到就弹窗告诉我
        // $("#tips").html(re.info);
        // $("#vcode").val(re.code);
        // $("#uurl").html('<p class="p5">请保存好该号码,等待永乐通知正式开票时间,凭借此码进行购买!</p>');
      }
    },
    error: function () {
      //alert("Dick!!!!!!!!!!!!!");
      return;
    }
  });
}, 2000)

  把火狐右上角的油猴头点亮,打开抢码页,就可以躺着等成功的弹窗了!

0x02 Intruder attack using Burp Suite

  但是,我还是要用另一款神器一起抢,上了这两个保险,心里才踏实嘛!
  从脚本中我们可以看到,执行这个脚本是向/sign/getbuycode POST 一些数据

1135245-20170826233038011-1184963998.jpg

  上Burp Suite用Intruder,把area的payload设成许多一样值的字典就行了。注意配置发包的频率,然后就可以右上角开始attack了!
  这下终于能安心躺着lol

1135245-20170826233048152-1875070419.jpg

1135245-20170826233058668-785274889.jpg

1135245-20170826233109027-1064153595.jpg

  当时间进入抢码时间时,网络拥塞,基本上都返回502了,一旦有资源给我们提供那一瞬间的服务,就返回200了,就说明我们抢到想要的东西了。

  万事俱备,就等时间到了!悄悄说一下,我没敢躺着……

  开始抢码了,我就一边盯着Burp期望在一堆502里能出现个200,一边盯着浏览器。终于在一分钟内,浏览器弹窗了,回去Intruder attack看,果然返回了我想要的东西。

1135245-20170826233121714-1213914183.jpg

  查看一下成功应答的包!

1135245-20170826233137308-1077294621.jpg

  去个人中心确认一下:

1135245-20170826233152746-1856129472.jpg

转载于:https://www.cnblogs.com/d0main/p/7436653.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值