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

手机建网站步骤软件免费手工活外发加工网站

手机建网站步骤软件,免费手工活外发加工网站,自己做网站怎么维护,外贸流程的基本流程图本次目标网址如下#xff0c;使用base64解码后获得 aHR0cHM6Ly9wYW4uYmFpZHUuY29tL3MvMUZsaDBPeGpZamZJTFVZWUQzTm9fVnc 链接提取码为#xff1a;ly12 本次逆向分析分为上下两篇文章说明#xff0c;一为讲解如何从原链接通过逆向拿到下载链接#xff0c;二为逆向登录拿到co… 本次目标网址如下使用base64解码后获得 aHR0cHM6Ly9wYW4uYmFpZHUuY29tL3MvMUZsaDBPeGpZamZJTFVZWUQzTm9fVnc 链接提取码为ly12 本次逆向分析分为上下两篇文章说明一为讲解如何从原链接通过逆向拿到下载链接二为逆向登录拿到cookie因为在获取下载链接的过程中是要登录百度网盘的账号的本文在讲解提取的过程中登录后的cookies先固定死只讲解最后拿到的百度网盘链接后面再讲解逆向登录拿到cookie 解密流程 1、找到下载链接2、分析接口参数3、分析data参数4、分析链接参数5、组装加密接口 1、找到下载链接 下载链接其实非常好找打开network点击下载查看接口协议就能看到如下图 将下载链接跟接口中比对查找后就能发现与dlink字段的值一模一样那么下载链接就在share这个接口里面 2、分析接口参数 我们将share接口复制成curl请求后放到该网站解析 https://curlconverter.com/python/通过转换成python代码后如下 那么本次需要分析的就是data参数和url链接参数 3、分析data参数 这些参数我们逐个研究先从data参数入手这里固定的参数就不再多说了只说变化的参数全局搜索extra字段, 通过试错查找发现在这个位置生成 我们跟进s函数发现就是取出cookie那个extra值就是cookie中的BDCLND由于之前说过本文不涉及登录cookie参数是固定的所以这里就不再往下追究去找cookie的来源了 vcode_input是输入验证码的参数vcode_str是请求验证码时附带的校验参数需要和正确的验证码一起传回去校验验证码是否正确如下图可以找到vcode_str的来源 接着看primaryid参数还是跟栈查找在这个位置 查找流程就不多说了稍微根根就能找到可以发现primaryid就是shareid uk就是share_uk一下子解决两个参数我们再往前跟栈找找查看参数生成的位置 最终我们发现这两个参数都是在请求网页时附带生成, 同样fid_list应该就是文件列表的id也在加载网页时就附带了 至此data参数已经分析完毕 4、分析链接参数 接着我们看请求链接中的参数我们重放请求后最后确定可变的参数如下 fhttps://pan.baidu.com/api/sharedownload?sign{sign}timestamp{timestamp}channelchunleiweb1app_id{appid}bdstoken{bdstoken}logid{logid}clienttype0jsToken{jsToken}dp-logid{dplogid}sign和timestamp在tplconfig接口里面 appid是固定应用idbdstoken在yundata里面 logid是cookie里的BAIDUID dplogid是全局函数window.BpDataInstance.getDpLogId() 至此所有加密参数已经找到 5、组装加密接口 加密接口组装流程如下 初始化进入页面接口-获取sign接口-获取验证码接口-获取下载链接接口 按照流程组装代码如下 response session.get(https://pan.baidu.com/s/1Flh0OxjYjfILUYYD3No_Vw?pwdly12?, headersheaders)# 使用正则表达式提取带有 window.jsToken 的 script 标签内容 pattern rscript\b[^]*([\s\S]*?)\/script matches re.findall(pattern, response.text)# 遍历匹配到的 script 标签内容 for match in matches:if window.jsToken in match:# print(match)jsToken urllib.parse.unquote(match)jsToken jsToken.split(()[1].split())[0]# 遍历匹配到的 script 标签内容 for match in matches:if window.yunData in match:# 使用正则表达式提取第二个自执行代码块pattern r!function\(\)\s*{([\s\S]*?)}\(\);selfexecutes re.findall(pattern, match)# 输出第二个自执行代码块for selfexecute in selfexecutes:if window.yunData in selfexecute:selfexecutefun selfexecutesign_url https://pan.baidu.com/share/tplconfig?surl download_paramsekey urllib.parse.unquote(cookies.get(BDCLND))jsstr execjs.compile(jsstr.replace({selfexecutes}, selfexecutefun)) yunData jsstr.call(get_yundata) locals jsstr.call(get_locals)bdstoken yunData.get(bdstoken) fsid locals.get(file_list)[0].get(fs_id)# 获取sign接口 response session.get(sign_url ffieldssign,timestampchannelchunleiweb1app_id{appid}bdstoken{bdstoken}logid{logid}clienttype0dp-logid{dplogid},headersheaders, )sign response.json().get(data).get(sign) timestamp response.json().get(data).get(timestamp)# 请求验证码 response session.get(fhttps://pan.baidu.com/api/getvcode?prodpant0.2430438848136891channelchunleiweb1app_id{appid}bdstoken{bdstoken}logid{logid}clienttype0dp-logid{dplogid},headersheaders, ) print(response.json()) vcode_str response.json().get(vcode) img response.json().get(img)# 下载验证码 response session.get(img,cookiescookies,headersheaders, ) with open(vcode.jpg, wb) as f:f.write(response.content)# vcode_str 3332423865633234636166333465663732323763363637363764323966666433666231363236383236373834303030303030303030303030303031373035353639333539FD63FF431D35E2B5D98E13D16C79AEA0 print(1) # 获取下载链接data {encrypt: 0,extra: {sekey:%s} % sekey,product: share,vcode_input: H4DG,vcode_str: vcode_str,uk: yunData.get(share_uk),primaryid: yunData.get(shareid),fid_list: f[{fsid}],path_list: ,vip: 2, }response session.post(fhttps://pan.baidu.com/api/sharedownload?sign{sign}timestamp{timestamp}channelchunleiweb1app_id{appid}bdstoken{bdstoken}logid{logid}clienttype0jsToken{jsToken}dp-logid{dplogid},headersheaders,datadata, ) print(response.text) dlink response.json().get(list)[0].get(dlink) server_filename response.json().get(list)[0].get(server_filename)response session.get(dlink,cookiescookies,headersheaders, ) print(response) print(server_filename, len(response.content)) with open(server_filename, wb) as f:f.write(response.content)用到的js补环境如下navigator实际上并没有用到那么多我使用一键获取懒得删用不着的变量了 window global;navigator {vendorSub: ,productSub: 20030107,vendor: Google Inc.,maxTouchPoints: 0,scheduling: {},userActivation: {},doNotTrack: null,geolocation: {},connection: {},plugins: {0: {0: {},1: {}},1: {0: {},1: {}},2: {0: {},1: {}},3: {0: {},1: {}},4: {0: {},1: {}}},mimeTypes: {0: {},1: {}},pdfViewerEnabled: true,webkitTemporaryStorage: {},webkitPersistentStorage: {},hardwareConcurrency: 8,cookieEnabled: true,appCodeName: Mozilla,appName: Netscape,appVersion: 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36,product: Gecko,language: zh-CN,languages: [zh-CN,zh],onLine: true,webdriver: false,deprecatedRunAdAuctionEnforcesKAnonymity: false,bluetooth: {},clipboard: {},credentials: {},keyboard: {},managed: {},mediaDevices: {},storage: {},serviceWorker: {},virtualKeyboard: {},wakeLock: {},deviceMemory: 8,cookieDeprecationLabel: {},login: {},ink: {},hid: {},locks: {},gpu: {},mediaCapabilities: {},mediaSession: {},permissions: {},presentation: {},usb: {},xr: {},serial: {},windowControlsOverlay: {},userAgentData: {brands: [{brand: Not_A Brand,version: 8},{brand: Chromium,version: 120},{brand: Google Chrome,version: 120}],mobile: false,platform: Windows} }location {ancestorOrigins: {},href: https://pan.baidu.com/s/1TBy2gI-PUz2P_SWjCjq-ww?pwdd1g1,origin: https://pan.baidu.com,protocol: https:,host: pan.baidu.com,hostname: pan.baidu.com,port: ,pathname: /s/1TBy2gI-PUz2P_SWjCjq-ww,search: ?pwdd1g1,hash: }document {}locals {set: function(k, v){//console.log(k,v);this[k] v},mset: function(v){this.data v} }require(./bpdatajs-sdk-min-1.3.3.js)if (window.BpData) {window.BpDataInstance new BpData({serverId: 13328,from: main,page: share_common_page,parasitifer: web}) }{selfexecutes}function getDpLogId(){/*for(var i 0;i 40;i ){window.BpDataInstance.getDpLogId()}*/return window.BpDataInstance.getDpLogId() }function get_yundata(){return window.yunData; } function get_locals(){return locals.data; } function get_servertime(){return locals.servertime; }//console.log(locals);最后也能成功下载文件到本地
http://www.pierceye.com/news/399722/

相关文章:

  • 找人做ps的网站无锡 做公司网站
  • 云速建站可以建个人网站吗wordpress仿站难吗
  • 如何取外贸网站域名凡科h5制作教程
  • 蜘蛛不抓取网站的原因中山h5网站建设
  • 百度免费推广网站建网站用的免费软件
  • 网站建设西安哪里好广州做企业网站的公司
  • 汉中市网站建设爱墙 网站怎么做
  • 失物招领网站开发项目需求分析搭建外文网站
  • 免费网站空间免备案自学php做网站
  • 南宁网站建设nnit30郴州市第一职业中专
  • 想开个影视网站 那有做的莱芜信息平台
  • js做网站登录有服务器了怎么做网站
  • 郑州餐饮网站建设哪家好零基础网站建设教学在哪里
  • 讲述做网站的电影建设工程公司名字大全
  • 易语言可以做网站管理系统吗网站备案查询工信部手机版
  • 珠海建站论坛淘宝客网站做一种还是做好几种
  • 杭州公司的网站建设公司教育网站制作运营
  • 福州手游网站建设长春火车站停运了吗
  • wordpress仿站博客视频教程建筑模板哪种好
  • 手机配件网站模板雇主品牌建设
  • 列车营销网站怎么做网站 审批号
  • 嘉定公司网站设计游仙建设局官方网站
  • 青山做网站西安十大网站制作公司
  • 网站服务器租用一年多少钱啊seo优化检测
  • 北京网站建设联系电话长春市网络科技有限公司
  • 软件下载网站免费大全济宁医院网站建设
  • 龙岩到永定株洲网站推广优化
  • 个人网站建设研究意义朔州seo网站建设
  • 怎样进入网站的后台视频网站建设方案书
  • 家具网站开发报告北斗导航2022最新版手机版