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

浙江网站建设正规公司网络营销的六大特征

浙江网站建设正规公司,网络营销的六大特征,今日莱芜新闻大事,做独立网站给你注意!!!!某XX网站实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!! IGh0dHBzOi8vY2FwdGNoYS5ydWlqaWUuY29tLmNuLw 第一步: 分析请求网址和响应内容 (1)通过观察,滑…

注意!!!!某XX网站实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!!

IGh0dHBzOi8vY2FwdGNoYS5ydWlqaWUuY29tLmNuLw==

第一步: 分析请求网址和响应内容

滑动验证码
(1)通过观察,滑块滑动到指定位置即认为验证成功
验证码请求网址
(2)验证码请求网址和参数。ts 是毫秒级时间戳,clientUid和captchaType固定
请求验证码响应内容
(3)请求验证码的响应内容,可以看到有2张图片编码形式的字段originalImageBase64jigsawImageBase64(一张原始图,一张滑块图), secretKeytoken
验证码check请求
(4)滑动滑块后无论是否成功,会存在一个check验证码 的网址和参数。可以看出pointJson 是加密的,token对应get验证码请求的响应内容(如果不太懂,自己请求一下即可明白)
check验证码请求响应内容
(5) check验证码响应内容如上图所示即为成功,否则均为失败

第二步:解决参数加密(逆向)

逆向解决pointJson_1
(1) 在XHR处添加 /captcha/check, 重新请求,可以看到会在 标蓝 处停住,通过堆栈查看,能够看到在end处,为pointJson的加密生成。
逆向解决pointJson_2
(2) 去掉XHR的勾选,在(1)中找到的end中,var r 打断点,重新请求。此处猜测r 为滑块的位移值(r 比真实位移值大需要将真实位置+一个数值区间, 可将浏览器请求的图片放在本地进行对比,在此不在赘述),同时pointJson 生成调用了a 并传入了转为JSON字符串的{x,y}坐标
逆向解决pointJson_3
(3)a 函数可以看出是AES加密ECB模式PKcs7。参数t 是 secretKey(这个可以再实战操作时验证)

第三步: 验证滑块是否成功

验证是否成功验证成功
浏览器上check 验证码响应成功展示

第四步: 部分代码展示

JS 加密部分

// 加密部分
CryptoJS = require('crypto-js')
function H(e, t) {var i = CryptoJS.enc.Utf8.parse(t), n = CryptoJS.enc.Utf8.parse(e), r = CryptoJS.AES.encrypt(n, i, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return r.toString()
}

python 请求部分

# -*- coding:utf-8 -*-
# @Time : 2025/2/18 14:31
# @Author: 水兵没月
# @File : captcha_滑块验证码.py
# @Software: PyCharm
import base64
import random
import timeimport execjs
import requests
from fake_useragent import UserAgentfrom shuibingmeiyue import req_payload # 可以写成requests.post(url, body=json.dumps(data), headers=headers)s = requests.Session()
headers = {"Accept": "application/json, text/plain, */*","Accept-Encoding": "gzip, deflate, br, zstd","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cache-Control": "no-cache","Connection": "keep-alive","Content-Length": "106","Content-Type": "application/json; charset=UTF-8","Host": "captcha.ruijie.com.cn","Origin": "https://captcha.ruijie.com.cn","Pragma": "no-cache","Referer": "https://captcha.ruijie.com.cn/","User-Agent": UserAgent().Chrome,
}
# 此处忽略一些非重点代码
# 此处忽略一些非重点代码
# 此处忽略一些非重点代码
def get_slide(target_bytes, background_bytes):'''获取滑块位移值'''import ddddocr# 关闭广告显示ocr = ddddocr.DdddOcr(show_ad=False, det=False, ocr=False, )res = ocr.slide_match(target_bytes, background_bytes, simple_target=True)print(res)target_json = float(res["target"][0] + float('{}'.format(random.choice([15.5, 16.5]))))# target_json = res["target"][0]return target_json
def get_AES():'''获取AES的JS源码'''with open('./captche_AES.js', 'r', encoding="utf-8")as f:AES_source = f.read()f.close()return AES_sourcedef get_image_Base64(img_json):'''获取图片编码以及其他参数'''img_repData = img_json.get("repData")secretKey = img_repData.get("secretKey")originalImageBase64 = img_repData.get("originalImageBase64")jigsawImageBase64 = img_repData.get("jigsawImageBase64")token = img_repData.get("token")# origin_Base64和jigsaw_Base64 已被忽略。作用保存图片origin_Base64(originalImageBase64)jigsaw_Base64(jigsawImageBase64)# 读取滑块图片和背景图片的二进制数据# read_origin和read_jigsaw 已被忽略。 作用读取图片 target_bytes = read_origin()background_bytes = read_jigsaw()# 得到滑块位移target_json = get_slide(target_bytes, background_bytes)return secretKey, target_json, tokendef get_pic():'''请求验证码网址'''url = "https://captcha.ruijie.com.cn/captcha/get"data = {"captchaType":"blockPuzzle","clientUid":"slider-9d5611b7-e5a0-40a2-a813-a18ecf0ccaf9","ts":int(time.time()*1000)}res = req_payload(s, url, headers, data)res_json = res.json()secretKey, target_json, token = get_image_Base64(res_json)return secretKey, target_json, tokendef check_captcha(secretKey, target_json, token):'''检测验证码是否成功'''print(target_json)i = int(target_json)i = 310 * i / int(330)e = '{"x":' + str(i) + ',"y":5}'AES_source = get_AES()AES_ctx = execjs.compile(AES_source)get_AES = AES_ctx.call("H", e, secretKey)print('get_AES--', get_AES, len(get_AES))#url = "https://captcha.ruijie.com.cn/captcha/check"pointJson = get_AESdata = {"captchaType":"blockPuzzle","pointJson":pointJson,"token":token}print(data)res = req_payload(s, url, headers, data)print(res.text)secretKey, target_json, token = get_pic()
check_captcha(secretKey, target_json, token)

验证成功展示

仅作为笔记记录,如有问题请各位大佬来指导

http://www.dtcms.com/wzjs/203393.html

相关文章:

  • 妇科医院网站建设怎么做无锡百度推广公司哪家好
  • 道滘仿做网站上海sem
  • 科网站建设网站入口
  • 网站优化关键词什么软件可以发布广告信息
  • 凡科网站建设怎么样seo关键词优化公司
  • 网站建设需要用到的软件开发seo品牌推广方法
  • 网站开发ide个人博客登录首页
  • 做美剧网站侵权自媒体运营
  • 好用的外贸网站建设网站的网站首页
  • 宿迁市住房和城乡建设局老网站网络营销优化
  • wap网站建设方案 pdf手机刷网站排名软件
  • 网站中链接怎么做的谷歌浏览器官网手机版
  • 做数据同步的两个网站网站策划运营
  • 类似头条的网站怎么做seo技术软件
  • 网络查控系统设计方案长沙网站包年优化
  • 深圳网站建设服务比较便宜关键词全网搜索
  • 网站logo模板正规seo关键词排名网络公司
  • 做网站开发app南宁seo网站排名优化公司
  • 如何做网站联盟数据分析软件哪个最好用
  • 做企业网站合同全国免费发布广告信息平台
  • 有创意的电商公司名字大全北京谷歌seo公司
  • 智联招聘网站怎么做微招聘信息东莞网站建设优化
  • seo做的不好的网站有哪些爱站seo工具包官网
  • 阻止网站查到访问者ip保定seo排名
  • 网站制作计划推广项目网站
  • 如何看别人网站用什么做的网络广告策划流程有哪些?
  • 足球外围网站怎么做网络推广方法有几种
  • wordpress 04北京网络优化推广公司
  • 做近代史纲要题的网站昆明百度推广开户费用
  • 黄山网站建设专注于品牌营销服务