某工程质量安全监管平台验证码请求参数params加密破解

本文详细介绍了如何分析并破解一个网站的反扒机制,特别是其基于SM2加密的验证码系统。通过F12开发者工具,作者跟踪了getVerificationCode接口,发现验证码图片的Base64编码和相关加密参数。在调试过程中,遇到了window、CryptoJS、navigator等对象未定义的问题,最终成功本地复现加密过程,揭示了验证码生成的关键步骤。
摘要由CSDN通过智能技术生成

本平台的反扒机制就是字母数字组成的验证码,谷歌浏览器打开本网站f12,点击导航栏的时候,会出现验证码,看了一下,验证码请求的接口信息

接口信息如下:

 验证码主要的信息都包含在这个getVerificationCode接口中,从返回的数据,可以看出

imgCode:验证码图片的base64编码,打开浏览器看一下

verificationCodeGuid,这个先别管,后面请求数据的时候会用到

看了一下请求体

 一长串字符串,加密过的

打开调用栈

 

第四个这里有点像,在这里下个断点

 

 就是这里了,看看这个addSomething()方法接收的参数是什么东西

 应该就是这个固定的json字符串,里面包含了图片的宽100,高40,和验证码的长度4

加密方法就是这个addSomething,跟进去看一下,加密的主要方法就在这了

 复制到本地调用

 本地执行后,报错 sm2Encrypt未定义,现在去找这个sm2Encrypt

继续上面addSomething方法里面跟进去, 将这一页复制到本地

继续报错,window未定义,定义一下window

继续报错CryptoJS未定义,导入CryptoJS

继续报错navigator未定义,定义一下navigator

SM2Utils未定义,搜索代码中有两个SM2Utils

 这里引用的SM2Utils是未定义的,继续搜索上面

这里定义了 window.SM2Utils = {},因为在浏览器中,window对象可以直接使用,而在本地报错,在调用SM2Utils的这里,改一下

 

 最后成功得到加密参数

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值