首页 > 其他分享 >JS逆向实战22——某政府采购网简单cookie反爬

JS逆向实战22——某政府采购网简单cookie反爬

时间:2023-08-30 14:55:16浏览次数:28  
标签:x0fcad9 x08c924 22 x06dd1a 反爬 x01c264 x65 var 采购网

声明

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

目标网站

网站:aHR0cDovL3d3dy55bmdwLmNvbS8=

目标

类似于这种 进入前检查浏览器... 如何跳转

页面分析

我们发现这种网站有点类似于5s盾。但是和5s盾不一样的是,这个网站是依靠cookie进行的一个判断。
我们去看看cookie到底有什么猫腻
经过反复用代码测试。
得知这个PYCCS 是请求的关键。那其实很简单了。如何得到这个值就是我们的目标了

JS分析

我们请求页面。

页面返回了一段JS。和一个cookie

然后通过转换一些列操作。

得到第一个传参 P的值

var _$ = ['\x23\x63\x68\x61\x6c\x6c\x65\x6e\x67\x65', '\x23\x77\x61\x66\x5f\x61\x6e\x73\x77\x65\x72', '\x23\x43\x68\x61\x6c\x6c\x65\x6e\x67\x65\x46\x6f\x72\x6d'];
$(_$[0])["\x73\x68\x6f\x77"]();
$(function () {
    setTimeout(function () {
        var x06dd1a = {};
        var x0fcad9;
        var x08c924 = 0x26;
        var x01c264 = navigator["\x75\x73\x65\x72\x41\x67\x65\x6e\x74"]["\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65"]();
        x08c924 = x08c924 * 0x63;
        (x0fcad9 = x01c264["\x6d\x61\x74\x63\x68"](/msie ([\d.]+)/)) ? x06dd1a["\x69\x65"] = x0fcad9[0x1] 
: (x0fcad9 = x01c264["\x6d\x61\x74\x63\x68"](/firefox\/([\d.]+)/)) ? x06dd1a["\x66\x69\x72\x65\x66\x6f\x78"] = x0fcad9[0x1] 
: (x0fcad9 = x01c264["\x6d\x61\x74\x63\x68"](/chrome\/([\d.]+)/)) ? x06dd1a["\x63\x68\x72\x6f\x6d\x65"] = x0fcad9[0x1] 
: (x0fcad9 = x01c264["\x6d\x61\x74\x63\x68"](/opera.([\d.]+)/)) ? x06dd1a["\x6f\x70\x65\x72\x61"] = x0fcad9[0x1] 
: (x0fcad9 = x01c264["\x6d\x61\x74\x63\x68"](/version\/([\d.]+).*safari/)) ? x06dd1a["\x73\x61\x66\x61\x72\x69"] = x0fcad9[0x1] 
: 0x0;
        x08c924 = x08c924 + 0x2e;
        if (x06dd1a["\x69\x65"] 
|| x06dd1a["\x66\x69\x72\x65\x66\x6f\x78"] 
|| x06dd1a["\x63\x68\x72\x6f\x6d\x65"] 
|| x06dd1a["\x6f\x70\x65\x72\x61"] 
|| x06dd1a["\x73\x61\x66\x61\x72\x69"]) {
            x08c924 = (x08c924 * 0x3 + 0x7);
            if (x08c924 < 0x7b) x08c924 = x08c924 + 0x929;
            var x0b515d = $(_$[1]);
            if (x08c924 > 0x929) x08c924 = Math["\x66\x6c\x6f\x6f\x72"](x08c924 / 0x7b);
            x0b515d["\x76\x61\x6c"](x08c924);
            $(_$[2])["\x73\x75\x62\x6d\x69\x74"]()
        }
    }, 0x3e8)
});

然后通过AST去解码

var _$ = ["#challenge", "#waf_answer", "#ChallengeForm"];
$(_$[0])["show"]();
$(function () {
  setTimeout(function () {
    var x06dd1a = {};
    var x0fcad9;
    var x08c924 = 38;
    var x01c264 = navigator["userAgent"]["toLowerCase"]();
    x08c924 = x08c924 * 99;
    (x0fcad9 = x01c264["match"](/msie ([\d.]+)/)) ? x06dd1a["ie"] = x0fcad9[1] 
: (x0fcad9 = x01c264["match"](/firefox\/([\d.]+)/)) ? x06dd1a["firefox"] = x0fcad9[1] 
: (x0fcad9 = x01c264["match"](/chrome\/([\d.]+)/)) ? x06dd1a["chrome"] = x0fcad9[1] 
: (x0fcad9 = x01c264["match"](/opera.([\d.]+)/)) ? x06dd1a["opera"] = x0fcad9[1] 
: (x0fcad9 = x01c264["match"](/version\/([\d.]+).*safari/)) ? x06dd1a["safari"] = x0fcad9[1] 
: 0;
    x08c924 = x08c924 + 46;
    if (x06dd1a["ie"] 
|| x06dd1a["firefox"] 
|| x06dd1a["chrome"] 
|| x06dd1a["opera"] 
|| x06dd1a["safari"]) {
      x08c924 = x08c924 * 3 + 7;
      if (x08c924 < 123) x08c924 = x08c924 + 2345;
      var x0b515d = $(_$[1]);
      if (x08c924 > 2345) x08c924 = Math["floor"](x08c924 / 123);
      x0b515d["val"](x08c924);
      $(_$[2])["submit"]();
    }
  }, 1000);
});

然后我删掉有关JQuery的操作 形成如下代码

navigator = {
  "userAgent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',

}

var _$ = ["#challenge", "#waf_answer", "#ChallengeForm"];
var x06dd1a = {};
var x0fcad9;
var x08c924 = 38;
var x01c264 = navigator["userAgent"]["toLowerCase"]();
x08c924 = x08c924 * 99;
(x0fcad9 = x01c264["match"](/msie ([\d.]+)/)) ? x06dd1a["ie"] = x0fcad9[1] 
: (x0fcad9 = x01c264["match"](/firefox\/([\d.]+)/)) ? x06dd1a["firefox"] = x0fcad9[1] 
: (x0fcad9 = x01c264["match"](/chrome\/([\d.]+)/)) ? x06dd1a["chrome"] = x0fcad9[1] 
: (x0fcad9 = x01c264["match"](/opera.([\d.]+)/)) ? x06dd1a["opera"] = x0fcad9[1] 
: (x0fcad9 = x01c264["match"](/version\/([\d.]+).*safari/)) ? x06dd1a["safari"] = x0fcad9[1] 
: 0;
x08c924 = x08c924 + 46;
if (x06dd1a["ie"] 
|| x06dd1a["firefox"] 
|| x06dd1a["chrome"] 
|| x06dd1a["opera"] 
|| x06dd1a["safari"]) {
  x08c924 = x08c924 * 3 + 7;
  if (x08c924 < 123) x08c924 = x08c924 + 2345;
  if (x08c924 > 2345) x08c924 = Math["floor"](x08c924 / 123);
}
console.log(x08c924 )

打印下这个x08c924 这个值 发现是92。

到这里 貌似进行不下去了。进行不下去的时候。我们重新回去看页面。
我们搜索set-cookie 看看哪里是设置cookie的地方

然后发现 诶嘿 还真有个请求里有设置 PYCCS的值。我们点进请求再看看。

我们发现这是个post的302请求。并且有个data传参是45。

同样是数字,我们上文也拿到了一个值92。那这两个数字之间有没有什么关系呢?

到这里 已经很清楚了。
其实这个网站还是挺简单的。但是从0到1的过程还是挺繁琐的。

结果

标签:x0fcad9,x08c924,22,x06dd1a,反爬,x01c264,x65,var,采购网
From: https://www.cnblogs.com/zichliang/p/17667215.html

相关文章

  • CSP2022 游记
    2022.6.?报名。2022.7.?缴费,是来捐款的。2022.8.31隔天开学了,很慌,初赛一直都只是看知识点,没有练题。2022.9.1~2022.9.15一直在练题,不过没怎么练阅读程序和完善程序,摆。2022.9.1?我爸又跟我吵了一架,他总是在支持与不支持直接来回跳跃,然后班主任出马,他转变成了支持。2022.9......
  • ubuntu22网卡绑定
    1.网卡绑定模式第⼀种模式:mod=0,即:(balance-rr)Round-robinpolicy(平衡抡循环策略)特点:传输数据包顺序是依次传输(即:第1个包⾛eth0,下⼀个包就⾛eth1….⼀直循环下去,直到最后⼀个传输完毕),此模式提供负载平衡和容错能⼒。第⼆种模式:mod=1,即:(active-backup)Active-backuppolicy......
  • CTFshow 萌新web22
    源代码<?phpif(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\:|\/|\\\/i",$c)){include($c.".php");}}else{highlight_file(__FILE__);}?>解法借助代码执行和字符......
  • 32位数字电位器AD5228使用及调试总结
    一概念什么是数字电位计?  数字电位器(DigitalPotentiometer)亦称数控可编程电阻器,是一种代替传统机械电位器(模拟电位器)的新型CMOS数字、模拟混合信号处理的集成电路。数字电位器由数字输入控制,产生一个模拟量的输出。依据数字电位器的不同,抽头电流最大值可以从几百微安到几个......
  • PHY6222是奉加微电子最新推出的超低功耗系统级蓝牙芯片
       PHY6222是奉加微电子最新推出的超低功耗系统级蓝牙芯片,搭载ARM®@™-M032,可配置512KFlash;超低功耗,RX/TX峰值电流低至4.6/[email protected];拥有全套自主知识产权协议栈,支持多通信标准协议,可以满足客户的定制化需求;异构多对多的蓝牙Mesh网络,实现基于BLE的大规模物联网;接收灵敏度-9......
  • 小米2平板ubuntu22.04.2 BCM4356无线网卡驱动问题的解决
    以下为你提供在Linux操作系统中BCM4356无线网卡驱动问题的解决方案,针对Ubuntu18.04和Deepinlinux15.8等Linux发行版。 前言目前很多新笔记本电脑的用的是BCM的无线网卡和蓝牙模块集成模块,比如华为MateBook、神舟PcPad、联想多型号,但安装各种最新版的Linux都无法驱动,网......
  • P2238 题解
    problem&blog。kkk的题解有一些地方是错的/cf,所以写篇题解造福后人。一眼DP,如果你平凡地设\(dp_{i,j}\),会发现买过的是不能再买的,然后就转移不动了。所以要记录每个点附近的点是否被吃过。于是状压,每个二进制位表示\((i,j)\)周围的一些点是否被吃过。不妨钦定\(X\)......
  • 【拆贡献】CF1422F Boring Queries
    考虑质因数分解,我们求区间的\(lcm\)就是\(\proda_i\)除以一些东西。不难发现如果算\(x^k\inlcm\)那么我们只能算一次,那么我们直接把这个东西挂在前一个出现的位置即可。使用主席树维护即可。这个题,很难。//LUOGU_RID:123092767#include<bits/stdc++.h>#definere......
  • 230722校内赛
    T1CF576D题解我们根据边的出现时间分成\(m\)段对于每一段,设\(f_{T,i}\)表示\(T\)时刻,\(i\)节点能否走到,那么走一步就是个矩阵乘法对于某一段,我们从终点开始bfs可以就可以求出答案,矩阵乘法用bitset优化复杂度\(\mathcal{O}(m^2+\frac{ω}{mn^3}logT)\)#includ......
  • 【专题】2022品牌营销决策解决方案报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33511根据报告合集显示,在消费者的亲友分享、社交平台、订单评价等环节,00后表现出活跃的参与度,而90后和95后在部分环节也较为活跃。相比之下,70后和80后在分享中的参与度最低,主要以亲友分享为主。阅读原文,获取专题报告合集全文,解锁文末335份品牌营销......