今天爬取的是网站需要模拟登陆

目标网站

aHR0cHM6Ly9wYXNzcG9ydC55aGQuY29tL3Bhc3Nwb3J0L2xvZ2luX2lucHV0LmRv

浏览器抓包分析

随便输入一堆假账户和密码

然后进入断点 如下图

根据setpublic 设置公钥 可知 这是个RSA加密

(当然 不能说百分百RSA 百分之80吧 毕竟我之前写过的一篇文章:【https://www.cnblogs.com/zichliang/p/16710284.html】

这也有这个方法。

)

扣了半天 发现是个常规RSA 这里就不扣了, 也不多做解释 直接去看我首页置顶的里的Python加密 替换响应的值即可。

这里贴上js代码

window = global;
const JSEncrypt = require('jsencrypt')
var i = new JSEncrypt(); function get_login_params(username, password) {
var pubkey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXQG8rnxhslm+2f7Epu3bB0inrnCaTHhUQCYE+2X+qWQgcpn+Hvwyks3A67mvkIcyvV0ED3HFDf+ANoMWV1Ex56dKqOmSUmjrk7s5cjQeiIsxX7Q3hSzO61/kLpKNH+NE6iAPpm96Fg15rCjbm+5rR96DhLNG7zt2JgOd2o1wXkQIDAQAB";
i.setPublicKey(pubkey); var k = i.encrypt(username); var j = i.encrypt(password);
return {
"username": k,
"password": j,
} } console.log(get_login_params("123123", "123123"))

公钥位置:

直接调用现成的库即可.

今天重点研究 下面这个captchaToken

captchaToken 生成位置

然后进入这个断点

这个点很可疑,我们在控制台看下他的值



有点像,并且每次生成的值都不一样。

我们继续往下走

经过一大串漫长的F11 找到这个断点

我们发现 下面这串代码是生成captchaToken 的地方

var ap = f[b('0x639', 'Hwul')](al);
var aq = f[b('0x160', 'KKgU')](an);
return (g[f[b('0x6c7', ']swn')]('_', 't')] || '') + '|' + aq + '|' + ap;

数据生成分析

又上述代码可知



captchaToken 由这三部分组成,中间用 | 拼接而成。 我们挨个去扣代码即可。

扣代码

先扣上面两个单的参数

第一个ap 慢慢扣吧

第二个aq 是base64 然后混着一些其他的东西加密而成

然后多次尝试我们可知

这个g['_t'] 也就是 (gf[b('0x6c7', ']swn')] || '') 这个东西 是写死的,我们也写死就好了

顺带一提,这个b('0x6c7', ']swn') b函数我们可以抠出来。

然后写个脚本

如下图所示 这样可以减少很多难度



然后通过fiddler自动响应 然后替换



最后替换成这个鸟样就可以开始弄了

JS逆向实战12——某店 captchaToken 参数 加密的更多相关文章

  1. JS逆向实战1——某省阳光采购服务平台

    分析 其实这个网站基本没有用到过什么逆向,就是简单的图片base64加密 然后把连接变成2进制存成文件 然后用ocr去识别即可 !! 注意 在获取图片连接 和对列表页发起请求时一定要用一个请求,也就是 ...

  2. JS逆向实战5--JWT TOKEN x_sign参数

    什么是JWT JWT(JSON WEB TOKEN):JSON网络令牌,JWT是一个轻便的安全跨平台传输格式,定义了一个紧凑的自包含的方式在不同实体之间安全传输信息(JSON格式).它是在Web环境下 ...

  3. JS逆向实战4--cookie——__jsl_clearance_s 生成

    分析 网站返回状态码521,从浏览器抓包来看,浏览器一共对此地址请求了三次(中间是设置cookie的过程): 第一次请求:网站返回的响应状态码为 521,响应返回的为经过 混淆的 JS 代码:但是这些 ...

  4. JS逆向实战3——AESCBC 模式解密

    爬取某省公共资源交易中心 通过抓包数据可知 这个data是我们所需要的数据,但是已经通过加密隐藏起来了 分析 首先这是个json文件,我们可以用请求参数一个一个搜 但是由于我们已经知道了这是个json ...

  5. JS逆向实战8——某网实战(基于golang-colly)

    其实本章算不上逆向教程 只是介绍golang的colly框架而已 列表页分析 根据关键字搜索 通过抓包分析可知 下一页所请求的参数如下 上图标红的代表所需参数 所以其实我们真正需要的也就是Search ...

  6. JS逆向实战7-- 某省在线审批网站params 随机生成

    参数分析 我们首先通过抓包 发现这个就是我们所需要的数据 然后我们通过fidder 发起请求 结果: 通过我们反复测试 发现这个params的参数是每次请求中都会变化的 断点查找 我们通过 这个t参数 ...

  7. JS逆向实战6-- x轴 y轴 过点触验证码

    点触验证码是一种常见的反爬手段 解决方案有两种:一种是直接解决,这需要深度学习机器学习等图像处理技术,以大量的数据训练识别模型,最终达到模型足矣识别图片中的文字提示和应该点击的区域之间的对应关系. 这 ...

  8. JS逆向实战2--cookie-AcwScV2加密—某招标信息网

    cookies的获取 首先拿到第一次访问原链接 拿到acw_tc的值,然后放到session中去 再用这个session再次访问原链接拿到js加载的加密的真实数据.用了一些反混淆. 最后获取这个数据中 ...

  9. JS逆向实战9——cookies DES加密混淆

    cookie加密 DES 混淆 目标网站:aHR0cHM6Ly90bGNoZW1zaG9wLnlvdXpoaWNhaS5jb20vbWFpbi90ZW5kP05vdGljZUNhdGVJZD0xJk5 ...

  10. 淘宝的sign参数js逆向

    前言:现在网站都有很强的反爬机制,都是非常常见的是用js前端加密参数,所以不得不去分析和逆向js混淆后的代码 一. 打开天猫或淘宝,shift+ctrl+F12全局搜索sign参数. 这里发现很多地方 ...

随机推荐

  1. oracle中查询表字段信息及主键字段

    select a.owner, a.table_name, a.column_name, a.data_type, d.constraint_type, a.num_nulls from all_ta ...

  2. source Insight 的常用设置

    1. 去除^M 的显示 "Options->Preferences->Files", 设置"Default File Format" to &quo ...

  3. jquery 判断字符串长度

    function titleLength(str) { var strLength = 0; var list = str.split(""); for (var i = 0; i ...

  4. Vue.js + TypeScript 项目构建 (图形界面构建)

    一,打开图形界面 vue ui 二,创建文件       三,创建成功

  5. 【LeetCode_15】——三数之和

    今天做了力扣中的一道经典题:三数之和.这题思路倒是很快想到,调逻辑可把我调得够呛,这也正说明我的刷题思维远远不够,比起我室友半个月刷300多题的思维差远了...革命尚未成功,同志仍需努力. 原题链接: ...

  6. 循环结构(Java)

    基本介绍 while循环语法 while(布尔表达式){循环内容} 只要布尔表达式为true,循环则会一直循环下去 我们大多数会让循环停止下来,我们需要一个让表达式失效的方式来结束循环 少部分需要循环 ...

  7. Android studio的使用2

    运行按钮First activity: package com.example.activity;import androidx.appcompat.app.AppCompatActivity;imp ...

  8. curl post请求body体内传参数

    1. 传参格式 json function post_http($array='',$url) { $ch = curl_init(); $header = array('Content-Type: ...

  9. vue-固定头部-内容可滚动

     <div class="show-box">             <div class="show-top">           ...

  10. centos6放行防火墙8080端口操作

    1. 进入防火墙文件: [ vi /etc/sysconfig/iptables ] 2. 放行8080端口: [ -A RH-Firewall-1-INPUT -m state --state NE ...