JS反爬介绍以及环境的搭建

目录

JS逆向简单介绍

JS逆向我们需要做的事情

环境搭建

用pyrhon执行js代码的方法

JS常用算法介绍

md5 线性散列算法

DES/AES 对称加密算法

RSA 非对称加密算法

bases64 伪加密算法


JS逆向简单介绍

  • js ‐‐> javascript
  • 反爬 ‐‐> 爬取数据的过程中会碰到反爬技术
  • js反爬 js逆向
  • js反爬对应的一种反反爬策略称之为js逆向

JS逆向我们需要做的事情

  1. 找到加密字段
  2. 借助加密字段找到在客服端(浏览器端)进行加密的代码(js调试,找到加密的位置)
  3. 运行加密代码(找到加密代码之后要用python执行js代码)
  4. 最后,把加密之后的密码和其他参数一起提交到服务器(通过python实现)

环境搭建

1node.js环境 建议下载xxx.msi的文件

2 、安装一个模块
pip install PyExecJs ‐i https://pypi.douban.com/simple
  • vscode可以用来执行js代码
  • vscode的安装:https://www.cnblogs.com/csji/p/13558221.html
  • vscode执行js代码的环境配置:https://www.jianshu.com/p/3c47770c118
tips vscode 不会自动默认保存 ( 执行 ) 修改之后的代码
如果需要自动保存的: settings‐‐> off 修改为 onFocusChange

用pyrhon执行js代码的方法

import execjs


def get_js(file_name, func_name, func_arges=None):
    """
    通过python来执行js代码的方法
    :param file_name:js文件的名字
    :param func_name:要执行的函数名字
    :param func_arges:方法传参
    :return:js运行的内容
    """
    with open(file_name, 'r', encoding='utf-8') as f:
        js_code = f.read()

    # 1、编译JS文件
    cjs = execjs.compile(js_code)

    # 2、执行js代码
    # print(cjs.call('demo', 'world'))
    return cjs.call(func_name, func_arges)


if __name__ == '__main__':
    print(get_js('./test.js', 'demo', 'world'))

 

JS常用算法介绍

md5 线性散列算法

https://www.cmd5.com/
123456+2044
123456+2100
为了提高密码的安全 一般会在密码后面追加一个盐

DES/AES 对称加密算法

a b c ‐‐> x y z
a‐‐x
b‐‐y
c‐‐z
encrypt() 加密
decrypt() 解密

RSA 非对称加密算法

公钥和私钥是一对的
setPublicKey() 设置公钥

bases64 伪加密算法

采用 64 个字符来表示任意的二进制数据 A‐Z a‐z 0‐9 + /

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

依恋、阳光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值