当前位置: 首页 > news >正文

长沙网站建设kaodezhu上海企业服务云电话

长沙网站建设kaodezhu,上海企业服务云电话,进入网站空间,如何做企业网站php声明本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除!案例目标验证码:aHR0cHM6Ly93d3cuYW5qdWtlLmNvbS9jYXB0Y2hhLXZlcmlmeS8/Y2FsbGJhY2s9c2hpZWxkJmZyb209YW50aXNwYW0以上均做了脱敏处…

声明

本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除!

案例目标

验证码:aHR0cHM6Ly93d3cuYW5qdWtlLmNvbS9jYXB0Y2hhLXZlcmlmeS8/Y2FsbGJhY2s9c2hpZWxkJmZyb209YW50aXNwYW0=

以上均做了脱敏处理,Base64 编码及解码方式:

import base64
# 编码
# result = base64.b64encode('待编码字符串'.encode('utf-8'))
# 解码
result = base64.b64decode('待解码字符串'.encode('utf-8'))
print(result)

案例分析

抓包

进入网页后,F12 打开开发者人员工具,进行抓包,getInfoTp 接口响应返回 info 和 responseId:

  • info:AES 加密,解密后为图片 url 地址(背景图、滑块图)及实际渲染宽度等相关信息,基本样式如下:

{"level":310,"isimgUrls":1,"bgImgUrl":"https://wos3.58cdn.com.cn/HimeDcBazHkN/captchaimg/301e8298-af09-4198-882c-1399a66b0c23.png","width":"280","tip":"请点击并将滑块拖动到指定位置","puzzleImgUrl":"https://wos3.58cdn.com.cn/HimeDcBazHkN/captchaimg/2c2ecb8f-8678-425b-8354-544013e498e2.png","type":"1"}
  • responseId:checkInfoTp 接口(校验验证是否通过)的请求参数

getInfoTp 接口请求参数如下:

  • sessionId:网页源代码中获取

  • dInfo:浏览器 user-agent、location.href、sessionId 等经过 AES 加密得到

滑动滑块后,会抓包到 checkInfoTp 接口,校验滑块是否通过,失败则返回:

checkInfoTp 接口的请求参数:

  • sessionId:网页源代码中获取

  • responseId:getInfoTp 接口响应返回

  • dInfo:浏览器 user-agent、location.href、sessionId 等经过 AES 加密得到

  • data:缺口距离、轨迹等经过 AES 加密得到

参数逆向

sessionId

ctrl + f 局部搜索 sessionId,在网页源代码中,通过正则匹配出来即可:

dInfo

全局搜索 dInfo,就一个 js 中包含,跟进到 isd_captcha_v20210125173727.js 中,格式化后再局部搜索 dInfo,有四个结果,逐个打下断点,滑动滑块,在第 574 行断住,控制台打印各部分内容:

(0, _taN)() 为定值,包含浏览器 user-agent、location.href 等,_Lnn 定义在第 571 行,为 sessionId,_0x90o[67] 打印结果为 AESEncrypt,可以推测为 AES 加密,跟进到 _fSL[_0x90o[2]][_0x90o[67]] 中,在第 1181 行打下断点,可以看到初始向量 iv(sessionId)、加密模式 mode(CBC)以及填充方式 padding:

跟到 _GrF 的 pad 中即可看到填充方式,为 Pkcs7,至此确定为 AES 加密,引库或者扣出算法都可:

  • Block Cipher:第 8433行 _0x90o[491] 为 BlockCipher,块加密,又被称为分组加密或分块加密,是对称加密的一种常见形式,如 DES、AES,基本思路是将明文分成多个等长的块( block ),然后用相同的一个密钥,对每个块进行加密,得到密文块

  • CBC:Cipher Block Chaining(密码块链接模式),是一种循环模式,前一个分组的密文和当前分组的明文异或操作后再加密,这样做的目的是增强破解难度

  • PKCS7:在填充时首先获取需要填充的字节长度 = 块长度 - (数据长度 % 块长度), 在填充字节序列中所有字节填充为需要填充的字节长度值

data

data 定义在 dInfo 的下面,为 _5DD 的值:

向上跟栈到 slide.e26ac29666e3ea4e6cbd.js 文件的第 1085 行,即 data 参数的生成位置:

_ctu[_0x9pl[7]][_0x9pl[247]] 跟进去是与 dInfo 一样的 AES 加密,_Ugo 包含缺口距离、滑块轨迹及 p[0,0],也就是 sessionId 与 _Ugo 经过 AES 加密得到的 data,_Ugo 定义在第 1033 行:

轨迹由 x、y 及时间间隔组成,依据此及格式构造轨迹算法,缺口可通过 opencv、ddddocr 或者打码平台识别:

info

info 包含图片相关信息,安居客不同模块滑块图片的 url 拼接方式不一样,本例的 url 样式为:

a37ff22c-3b96-4bd2-9dc8-9d24e42f0665.png

而在 aHR0cHM6Ly9hcGkuYW5qdWtlLmNvbS93ZWIvZ2VuZXJhbC9jYXB0Y2hhTmV3Lmh0bWw= 中,图片 url 样式为:

# 背景图片
captcha_img?rid=f3cf84ac3eff4d63a3314bcf8be1851e&it=_big
# 滑块图片
captcha_img?rid=f3cf84ac3eff4d63a3314bcf8be1851e&it=_puzzle

这种拼接方式获取图片就相对容易了,rid 即 responseId,而本例需要解密 info 才能获取到图片相关信息,跟栈到 _jzC 即 info 的值:

也是 AES 加密,解密即可:

实际图片的大小与渲染的不一致,需要进行缩放,或者直接处理缺口距离也可以:

结果验证

http://www.15wanjia.com/news/168763.html

相关文章:

  • 笑话网站php程序建设企业资质双网是哪两个网站
  • 制作销售网站有哪些问题ios开发还有前景吗
  • 成都企业网站制作哪家好网站建设定制开发
  • 商城平台网站开发深圳深圳建站公司是如何做好营销型网站的
  • 企术建站龙采网站建设资源分享平台
  • 网站设计风2017网站备案
  • 网站开发申请微信支付58做网站联系电话
  • 辽宁建设厅官方网站培训网站免费
  • 网站建设设计制作维护wordpress自己写界面
  • 高端网站制作网址永川网站建设熊掌号
  • 网站建设进度安排四川城乡建设证件查询官网
  • 高端网站定制北京自己做的网站程序怎么发布
  • 做网站要用写接口谷歌seo优化排名
  • 网站建设维护方向电脑 手机网站二合一源码
  • 四川达州网站建设做网站开发有前途吗
  • 怎么做弹幕小视频网站和网站签约新闻
  • 淄博品质网站建设网站建设费用报价
  • 手机网站模板带后台东莞工业品网站建设
  • 网站搜索功能如何实现swf网站cms
  • 骨干专业群建设任务书网站白云网站建设公司
  • 深圳网站建设制作品牌公司怎样暂停域名指向网站
  • 北京pk10盘制作网站建设企业网站设计策划
  • 漳浦网站设计企业网站开发技术期末试题
  • 抚顺市+网站建设查询网站备案进度查询
  • 太原网站制作定制开发购物网站建设收费
  • 高端网站建设公司哪家公司好企业网络推广方案策划书
  • 舒城县建设局网站首页公众号编辑器哪个好用
  • 网站建设公司网站定制开发昆明seo公司网站
  • 大学一学一做视频网站淘宝客网站 建设要钱不
  • icp网站 是什么意思个人如何做网站推广