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

在哪些网站做外贸好兰州seo推广

在哪些网站做外贸好,兰州seo推广,wordpress wp super,网站开发的完整流程目标:https://pmc.ncbi.nlm.nih.gov/articles/ pdf的下载链接是直接存在的 但是第一次单击下载不会触发PDF下载,而是跳转到验证页面然后又跳回概览页面 再次点击下载按钮,PDF就能正常下载了。现在要分析下载PDF要验证什么,如cooki…

目标:https://pmc.ncbi.nlm.nih.gov/articles/

pdf的下载链接是直接存在的

但是第一次单击下载不会触发PDF下载,而是跳转到验证页面然后又跳回概览页面

再次点击下载按钮,PDF就能正常下载了。现在要分析下载PDF要验证什么,如cookie之类的

通过分析第二次访问PDF的下载链接,发现只需要验证cloudpmc-viewer-pow ,其他cookie无需验证,下面分析cloudpmc-viewer-pow是在哪里产生的。

查看第一次访问PDF下载链接的请求,响应的set-cookie中并不包含 cloudpmc-viewer-pow,但是响应体中包含了类似的内容

通过对比发现,cloudpmc-viewer-pow比POW_CHALLENGE多了一串数字(%2C是逗号)

即cloudpmc-viewer-pow的格式是

cloudpmc-viewer-pow = POW_CHALLENGE,数字

接下来要分析的是这个数字是怎么生成,毋庸置疑,这个数字肯定是本地生成的,不是服务器产生的,而且跟POW_CHALLENGE有关。开始逆向分析。

但是直接下断点有些困难,因为第一次访问PDF下载链接后会返回上一个页面,打不了断点,可以通过hook等手段阻止他返回。这里使用一种简单无脑的方法,直接把网页保存到本地分析,在本地运行该网页发现cloudpmc-viewer-pow可以正常生成,说明js代码中不会验证域名,所以该方法可行。

复制到本地的网页:

首先要注释掉pow-dbe6590f.js中的跳转页面方法,太烦人了

这样网页就不会跳转,方便下断点,而且cloudpmc-viewer-pow正常生成 

但是断点打在哪里呢?我们需要的是cloudpmc-viewer-pow生成的地方打断点,那cloudpmc-viewer-pow是什么?cloudpmc-viewer-pow最后是作为cookie使用,那肯定有cookie值变化的时候,这时候借助油猴插件JS Cookie Monitor/Debugger Hook ,这个插件用于监控js对cookie的修改。

可以看到cloudpmc-viewer-pow cookie赋值的地方已经出现了

vendor-5350ab81.js:93:5973

 直接点进去下断点

查看变量值发现数字包含在变量s中,而s是从外部传入的,而不是在当前函数中生成的,所以在调用堆栈中往前找。

在init中发现了数字生成的地方,赋值给了a

const a = d(e, i);

 

数字的具体值就在函数d返回的nonce中,下面找到函数d的实现就可以了。

进入函数d声明的地方:

 然后开始扣代码

const e = "****************************";//POW_CHALLENGEfunction d(e, n = 4) {let o = 0;const r = "0".repeat(n);for (;;) {const c = e + o.toString();const i = p.create().update(c).hex();if (i.startsWith(r)) {return {nonce: o,hash: i,challenge: e,difficulty: n};}o++;}
}const i = 4;
const a = d(e, i);
console.log(a);

运行发现p没有定义

往前找p

 一大堆代码,看着SHA256的出现次数那么多,猜测p应该就是用来进行SHA256的,就不继续扣代码了,直接交给ai梭哈

最后实现的代码就是

const CryptoJS = require("crypto-js");// 定义 p 为 SHA256 哈希函数
const p = {create: () => ({update: function(data) {this.data = data;return this;},hex: function() {return CryptoJS.SHA256(this.data).toString(CryptoJS.enc.Hex);}}),update: function(data) {return this.create().update(data);}
};const e = "****************";//POW_CHALLENGEfunction d(e, n = 4) {let o = 0;const r = "0".repeat(n);for (;;) {const c = e + o.toString();const i = p.create().update(c).hex();if (i.startsWith(r)) {return {nonce: o,hash: i,challenge: e,difficulty: n};}o++;}
}const i = 4;
const a = d(e, i);
console.log(a);

 

 

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

相关文章:

  • 百色网站建设如何搜索关键词
  • 怎么做学校官方网站seo公司优化方案
  • 三级分销系统软件广州seo效果
  • 做B2B网站需要办理什么关键词优化seo优化排名
  • 推广软文案例徐州百度seo排名
  • 洛阳做网站哪家好百度推广排名代发
  • c 网站开发构想看啥网一个没有人工干预的网
  • 怎么在网站上做游戏代练杭州网站制作排名
  • 贵阳学网站建设百度教育会员
  • 做旅游销售网站平台ppt模板网络营销策划的内容
  • 网站改版模版网络营销计划的七个步骤
  • 做番号网站的 违法网络营销理论
  • 公司网站域名解析谁来做汕头网站排名
  • web前端毕业论文seo网站优化方法
  • wordpress建站视频教程国内seo排名分析主要针对百度
  • 网站的新闻栏与产品栏如何做域名官网
  • 哪个网站可以做360度评估免费建站有哪些
  • 医院网站方案宁波seo网络推广渠道介绍
  • html做的旅游网站做网站怎么优化
  • 郑州发布直播武汉seo引擎优化
  • 建设电影网站数据库脚本做游戏推广一个月能拿多少钱
  • 淘宝客网站模板网站seo策划方案实例
  • 松江手机网站开发常见的网络营销方法有哪些
  • 安全的网站建设如何建立网站 个人
  • 网站备注销舟山百度seo
  • 拟与 合作建设网站 请予审批福建优化seo
  • 怎么做网站教程 用的工具开鲁网站seo站长工具
  • 搜索引擎网站提交入口百度下载安装免费版
  • 网站怎样才有流量项目推广平台有哪些
  • 做网站编程要学什么搜索引擎营销成功案例