不废话,直接进入正题
文中标出了全文的连接
点击链接后,可以看到进行了三次跳转,最终打开全文图片
最终链接为: https://xxx/277405/1-s2.0-S1876034120X00025/1-s2.0-S1876034119302552/main.pdf?X-Amz-Security-Token=**************************
使用抓包工具,查看整体跳转流程(删除无用请求)
发现最终链接存放在第二个请求返回的响应中,第二个链接有多个请求参数组成
例: /science/article/pii/S1876034119302552/pdfft?crasolve=1&r={}&ts=1680159862923&rtype=https&vrr=UKN&redir=UKN&redir_fr=UKN&redir_arc=UKN&vhash=UKN&host=d3d3LnNjaWVuY2VkaXJlY3QuY29t&tsoh=d3d3LnNjaWVuY2VkaXJlY3QuY29t&rh=d3d3LnNjaWVuY2VkaXJlY3QuY29t&re=X2JsYW5rXw%3D%3D&ns_h=d3d3LnNjaWVuY2VkaXJlY3QuY29t&ns_e=X2JsYW5rXw%3D%3D&iv={}&token={}&text={}&original={}
查找第一个请求内容,查看参数如何形成。
多次请求对比后,发现大部分参数是固定的和传递过来的 这部分不需要处理,直接写死或者匹配获取使用。
主要处理的俩个参数为: iv=t,text=n
格式化js,查看俩个参数的生成。
通过查看js流程 最终发现iv 和 text的生成方式(这部分流程太复杂 你们也不喜欢看,我就不放了)
s.update()中的参数和a.update()中的参数为页面携带。
整体流程为一个CBC加密
1-iv为向量 随机生成16位字节并转为hex传递
2-text为加密值,加密的key 用sha256并传递s_update中的内容生成
3-最终获得加密d
流程明确后,开始敲代码
只记录难点破解思路,不提供具体的运行代码,红字标注出了使用过程中遇到的坑
有感兴趣,想尝试的可以联系我,索要原网站
仅供学习使用,如造成侵权,联系删除
喜欢的点个赞吧,感谢