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

网站购物车怎么做携程网站建设

网站购物车怎么做,携程网站建设,子目录创建网站,栾城区城乡建设局网站前言 本文主要介绍了有道翻译的接口调用情况#xff0c;对两个接口进行了初步的接口逆向#xff0c;只供学习交流使用。 找到翻译接口 webtranslate 网页地址#xff1a;https://fanyi.youdao.com/index.html#/ 首先找到翻译接口 可以看出#xff0c;翻译接口是 webt…前言 本文主要介绍了有道翻译的接口调用情况对两个接口进行了初步的接口逆向只供学习交流使用。 找到翻译接口 webtranslate 网页地址https://fanyi.youdao.com/index.html#/ 首先找到翻译接口 可以看出翻译接口是 webtranslate再看返回内容 返回的是一大串字符串所以后面还需要解密这串字符 解密webstranslate 中的 Form Data 参数 i: 你好程序 from: auto to: domain: 0 dictResult: true keyid: webfanyi sign: c04636a841a4b2c374dc4d7dcf675514 client: fanyideskweb product: webfanyi appVersion: 1.0.0 vendor: web pointParam: client,mysticTime,product mysticTime: 1711293172275 keyfrom: fanyi.web mid: 1 screen: 1 model: 1 network: wifi abtest: 0 yduuid: abcdefg可以看到sign参数加密加密长度为32位 md5加密特征 **长度固定。**无论输入的数据长度是多少字节输出总32位字符。 **不可逆。**即无法通过MD5值反推出原始数据。 **抗修改性。**对原始数据进行的任何改动甚至是一个字节的修改都会导致MD5值显著不同。 **抗碰撞性。**要找到两个具有相同MD5值的不同数据非常困难。 由此我们可以判断它属于md5加密 寻找加密 sign 全局搜索 sign 的值发现只有这一行的 debug 进去了 点进去之后找到了sign 这个参数sign 是由于 k(o,e) 这个方法生成的再网上找方法最后发现确实是 md5 加密而来的 我们可以试一下,e的结果是 clientfanyideskwebmysticTime1711293674225productwebfanyikeyfsdsogkndfokasodnaso页面上 md5 加密后 使用网上的工具加密 发现正好是 32位小写的 md5 加密结果和预想的正确 通过检查发现 这个key fsdsogkndfokasodnaso 探索 key 接口 发现这个key 竟然来自于另一个接口 所以自动化翻译需要两个接口来实现第一步先获取加密的key之后再请求翻译接口除了sign其他的都是写死的 现在看看第一个返回 key的接口是否需要逆向发现这个sign 也是需要加密的但是keyasdjnjfenknafdfsdfsd 第一个请求能够复现了 import requests import datetime import json import hashlib from urllib.parse import urlencodedef get_timestamp():return int(datetime.datetime.now().timestamp() * 1000)def get_key():# 主要是获取key等参数url https://dict.youdao.com/webtranslate/keymysticTime get_timestamp()tmp_sign fclientfanyideskwebmysticTime{mysticTime}productwebfanyikeyasdjnjfenknafdfsdfsdsign hashlib.md5(tmp_sign.encode(utf8)).hexdigest()# 参数params {keyid: webfanyi-key-getter,sign: sign,client: fanyideskweb,product: webfanyi,appVersion: 1.0.0,vendor: web,pointParam: client,mysticTime,product,mysticTime: mysticTime,keyfrom: fanyi.web,mid: 1,screen: 1,model: 1,network: wifi,abtest: 0,yduuid: abcdefg,}url_with_params f{url}?{urlencode(params)}headers {Accept: application/json, text/plain, */*,Accept-Language: zh-CN,zh;q0.9,Cache-Control: no-cache,Connection: keep-alive,Origin: https://fanyi.youdao.com,Pragma: no-cache,Referer: https://fanyi.youdao.com/,Sec-Fetch-Dest: empty,Sec-Fetch-Mode: cors,Sec-Fetch-Site: same-site,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36,Sec-Ch-Ua: Chromium;v122, Not(A:Brand;v24, Google Chrome;v122,Sec-Ch-Ua-Mobile: ?0,Sec-Ch-Ua-Platform: Windows}# 请求response requests.get(url_with_params, headersheaders, data{})json_data json.loads(response.text)# 获取 keykey json_data[data][secretKey]return keydef send(chinese):url https://dict.youdao.com/webtranslatemysticTime get_timestamp()# sign 是 clientfanyideskwebmysticTime1711295634744productwebfanyikeyfsdsogkndfokasodnasotmp_sign fclientfanyideskwebmysticTime{mysticTime}productwebfanyikey{get_key()}sign hashlib.md5(tmp_sign.encode(utf8)).hexdigest()payload {i: chinese,from: auto,to: ,domain: 0,dictResult: true,keyid: webfanyi,sign: sign,client: fanyideskweb,product: webfanyi,appVersion: 1.0.0,vendor: web,pointParam: client,mysticTime,product,mysticTime: mysticTime,keyfrom: fanyi.web,mid: 1,screen: 1,model: 1,network: wifi,abtest: 0,yduuid: abcdefg,}headers {Accept: application/json, text/plain, */*,Accept-Language: zh-CN,zh;q0.9,Cache-Control: no-cache,Connection: keep-alive,Content-Type: application/x-www-form-urlencoded,Cookie: OUTFOX_SEARCH_USER_ID-154543142510.55.164.248; OUTFOX_SEARCH_USER_ID_NCOO1617400304.3454392,Origin: https://fanyi.youdao.com,Pragma: no-cache,Referer: https://fanyi.youdao.com/,Sec-Fetch-Dest: empty,Sec-Fetch-Mode: cors,Sec-Fetch-Site: same-site,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36,sec-ch-ua: Chromium;v122, Not(A:Brand;v24, Google Chrome;v122,sec-ch-ua-mobile: ?0,sec-ch-ua-platform: Windows}response requests.post(url, headersheaders, datapayload)encode_data response.text# 开始解密数据print(encode_data)解密返回的加密数据 但是通过测试发现send() 这个方法返回的是加密数据接下来探索如何解密通过debug 发现解密在这行代码里面 观察这个方法定义了一个变量a通过调用一个解密方法把乱码的字符给解密了 关键代码 const a Po[a].decodeData(o, Wo[a].state.text.decodeKey, Wo[a].state.text.decodeIv), n a ? JSON.parse(a) : {};看下 Po[“a”].decodeData 会跳转到哪个方法里面 进入这个解密方法框选的部分好像就是解码过程了 Debug 看下是怎么解密的 使用模型分析下这个代码 原来 y() 这个函数是 md5 加密的方法 经过采纳考别人的经验复现出了 python 代码 import requests import datetime import json import hashlib from urllib.parse import urlencode from Crypto.Cipher import AES from Crypto.Util.Padding import unpad import base64def get_timestamp():return int(datetime.datetime.now().timestamp() * 1000)def init_data():# 主要是获取key等参数url https://dict.youdao.com/webtranslate/keymysticTime get_timestamp()tmp_sign fclientfanyideskwebmysticTime{mysticTime}productwebfanyikeyasdjnjfenknafdfsdfsdsign hashlib.md5(tmp_sign.encode(utf8)).hexdigest()# 参数params {keyid: webfanyi-key-getter,sign: sign,client: fanyideskweb,product: webfanyi,appVersion: 1.0.0,vendor: web,pointParam: client,mysticTime,product,mysticTime: mysticTime,keyfrom: fanyi.web,mid: 1,screen: 1,model: 1,network: wifi,abtest: 0,yduuid: abcdefg,}url_with_params f{url}?{urlencode(params)}headers {Accept: application/json, text/plain, */*,Accept-Language: zh-CN,zh;q0.9,Cache-Control: no-cache,Connection: keep-alive,Origin: https://fanyi.youdao.com,Pragma: no-cache,Referer: https://fanyi.youdao.com/,Sec-Fetch-Dest: empty,Sec-Fetch-Mode: cors,Sec-Fetch-Site: same-site,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36,Sec-Ch-Ua: Chromium;v122, Not(A:Brand;v24, Google Chrome;v122,Sec-Ch-Ua-Mobile: ?0,Sec-Ch-Ua-Platform: Windows}# 请求response requests.get(url_with_params, headersheaders, data{})json_data json.loads(response.text)# 获取 keyreturn json_data[data]def send(chinese):url https://dict.youdao.com/webtranslatemysticTime get_timestamp()data init_data()aesIv data[aesIv]aesKey data[aesKey]secretKey data[secretKey]# sign 是 clientfanyideskwebmysticTime1711295634744productwebfanyikeyfsdsogkndfokasodnasotmp_sign fclientfanyideskwebmysticTime{mysticTime}productwebfanyikey{secretKey}sign hashlib.md5(tmp_sign.encode(utf8)).hexdigest()payload {i: chinese,from: auto,to: ,domain: 0,dictResult: true,keyid: webfanyi,sign: sign,client: fanyideskweb,product: webfanyi,appVersion: 1.0.0,vendor: web,pointParam: client,mysticTime,product,mysticTime: mysticTime,keyfrom: fanyi.web,mid: 1,screen: 1,model: 1,network: wifi,abtest: 0,yduuid: abcdefg,}headers {Accept: application/json, text/plain, */*,Accept-Language: zh-CN,zh;q0.9,Cache-Control: no-cache,Connection: keep-alive,Content-Type: application/x-www-form-urlencoded,Cookie: OUTFOX_SEARCH_USER_ID-154543142510.55.164.248; OUTFOX_SEARCH_USER_ID_NCOO1617400304.3454392,Origin: https://fanyi.youdao.com,Pragma: no-cache,Referer: https://fanyi.youdao.com/,Sec-Fetch-Dest: empty,Sec-Fetch-Mode: cors,Sec-Fetch-Site: same-site,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36,sec-ch-ua: Chromium;v122, Not(A:Brand;v24, Google Chrome;v122,sec-ch-ua-mobile: ?0,sec-ch-ua-platform: Windows}response requests.post(url, headersheaders, datapayload)encode_data response.text# 开始解密数据print(encode_data:, encode_data)print(aesIv:, aesIv)print(aesKey:, aesKey)decode(encode_data, aesIv, aesKey)# 执行解密过程 def decode(encode_data, aesIv, aesKey):# 将秘密字符串转换为字节并使用base64解码key hashlib.md5(aesKey.encode(utf-8)).digest()iv hashlib.md5(aesIv.encode(utf-8)).digest()print(len(encode_data))# 解密数据# 创建AES解密器aes AES.new(key, AES.MODE_CBC, iv)decrypted_padded aes.decrypt(base64.urlsafe_b64decode(encode_data))decrypted unpad(decrypted_padded, AES.block_size).decode(utf8)# 返回解密后的数据json_data json.loads(decrypted)print(json_data)#passif __name__ __main__:chinese 你好,大家好才是真的好send(chinese)这边花时间最多的就是寻找 webtranslate 返回内容的解密方法需要熟练运用 chrome 提供的工具查询每一个方法的作用但是只要细心点一定会成功的。
http://www.pierceye.com/news/934730/

相关文章:

  • 汉中网站建设服务网站宣传推广平台
  • 关于科技园区建设文章的网站软文兼职10元一篇
  • 免费隐私网站推广海宁自适应网站建设
  • ipad网站制作网络平台怎么建立网站吗
  • 午夜资源站诸暨北京有哪些网站制作公司
  • 无忧自助建站安卓手机建站
  • 网站建设怎设计榆林市城乡建设规划局网站
  • 网站建设相关资讯做网站 思源字体
  • 辽宁网站设计国家开发大学网站作业怎么做
  • 仿西部数码网站注册建筑设计师
  • 南昌企业网站设计建设制作怎么删除ghost wordpress
  • 如何建个人免费网站手机怎么做网站免费的
  • 目前做那个网站能致富怎么增加网站的权重
  • 无锡网站建设818gx中国机械加工网卸粮四通
  • 淘宝网网站建设出入南京最新通知今天
  • 做企业网站项目的心得做网站一定要后台嘛
  • 青峰集团响应式网站论坛网站怎么做跳转
  • 代网站建设制作微信公众号网站开发
  • 潍坊网站的公司电话网站关键字多少个
  • 网站开发确认书青岛做网站的公司哪个好
  • 权威的企业网站建设网站开发费用算无形资产吗
  • 网站安全在线检测网络制作软件
  • 潍坊网站设计制作威宁住房和城乡建设局网站
  • 哈尔滨企业建站网站开发推广文案怎么写
  • 建立电子商务网站目的想要开网店怎么开
  • iis怎么建设网站内容杭州做搜索引擎网站的公司
  • 兰州网站开发价格建设和住房保障部 网站
  • 机械设备网站建设效果好的徐州网站开发
  • 商丘网站建设专业现状桓台县网站建设
  • 一级a做爰片免费网站孕交视频教程wordpress用的什么前端