![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Js逆向
文章平均质量分 74
本专栏把作者之前Js逆向相关的内容汇总一下,另外受朋友邀请写一下猿人学爬虫比赛的题目讲解。后续相关内容亦会更新在这里。
考古学家lx(李玺)
[ 笃信仁厚 , 慎思勤勉 ] 《爬虫逆向进阶实战》作者
展开
-
澳门科技局id_token逆向案例
本文内容是澳门特别行政区经济科技发展局网站的动态cookie案例。原创 2022-03-11 16:39:09 · 3509 阅读 · 8 评论 -
CNVD加速乐分析案例
本文是CNVD漏洞共享平台的爬虫案例,该网站采用了JSL的主题混淆和加密。原创 2021-12-08 16:59:57 · 1617 阅读 · 12 评论 -
SRB x-sign
本文案例是对srb小程序的x-sign参数分析。原创 2021-12-04 11:29:23 · 3514 阅读 · 1 评论 -
小红书网页版timestamp2
小红书PC网页版,请求需要携带cookie。原创 2021-09-16 14:16:57 · 4370 阅读 · 13 评论 -
天津公共资源网AES加密
今天看到社区中的同学在问,天津公共资源交易网详情页的URL加密逻辑。社区问答地址: https://bbs.csdn.net/topics/600494031文章目录调试逻辑页面Js代码Js调用代码调试逻辑网站列表页URL:http://ggzy.zwfwb.tj.gov.cn/queryContent-jyxx.jspx?抓包看了一下,列表页的url在访问详情页时会进行加密,简单的静态搜索没有找到有用的生成逻辑。通过DOM事件监听也没有找到有用的生成逻辑。因为这个加密是在点击之后触发原创 2021-09-02 13:23:32 · 1522 阅读 · 4 评论 -
抖音web直播数据
本案例是基于RPC的抖音web直播数据采集。文章内容仅供参考学习,如有侵权请联系作者进行删除可采集内容和页面呈现内容相同,包括用户评论、关注、谁来了、送礼物等数据。抖音web直播数据采集接口分析文件覆盖RPC调用运行源码运行示例交流群RPC(Remote Procedure Call)是远程调用的意思。在Js逆向时,我们本地可以和浏览器以服务端和客户端的形式通过websocket协议进行RPC通信,这样可以直接调用浏览器中的一些函数方法,不必去在意函数具体的执行逻辑,可以省去大量的逆向调试原创 2021-08-11 00:44:55 · 15315 阅读 · 25 评论 -
Js-RPC微博登陆案例
通过RPC获取微博web登陆参数参数分析覆盖文件RPC调用RPC(Remote Procedure Call)是远程调用的意思。在Js逆向时,我们本地可以和浏览器以服务端和客户端的形式通过websocket协议进行RPC通信,这样可以直接调用浏览器中的一些函数方法,不必去在意函数具体的执行逻辑,可以省去大量的逆向调试时间。在RPC中,发出请求的程序是客户端,而提供服务的程序是服务端,所以我们的浏览器需要是客户端,本地需要是服务端。本文案例以新浪微博网页版的登陆为例,来讲解一下如何在web上使用RP原创 2021-07-31 22:26:38 · 2449 阅读 · 7 评论 -
行行查采集案例(AES解密)
本文案例采集行行查网站的研究报告、城市精选、产业图谱等数据网站链接:https://www.hanghangcha.com本文内容仅供技术学习参考,如有侵权请联系作者删除。文章目录采集风险解密逻辑AES解密代码示例采集风险该网站需要通过微信扫码并绑定手机号进行登录,而且不开会员只能查看小部分数据。我搞了10个号,通过小程序拉新开通了会员,采集了一段时间后都被封了。封禁状态:账号无法进行登录封禁策略:请求1次/ 2-5秒 ,采集三小时后被封我感觉和脉脉一样,有专用的风控系统在定时进行爬虫原创 2021-07-13 14:13:53 · 1959 阅读 · 0 评论 -
新榜榜单爬虫案例
本篇案例内容是采集新榜榜单数据。包括微信榜、微博榜、抖音榜、快手榜、bilibili榜、资讯等。网站链接:https://www.newrank.cn/public/info/list.html?period=day&type=data文章目录流程分析Js示例采集示例完整代码流程分析通过控制台抓包查看接口formdata中有两个加密参数通过ctrl+F全局搜索nonce和xyz关键字。adow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaX原创 2021-07-12 13:44:27 · 2817 阅读 · 6 评论 -
万方protobuf协议请求案例
收到 Issues , 库中的代码不能使用了,看起来是接口的协议更新后使用了protobuf。原创 2021-04-14 15:55:13 · 4370 阅读 · 12 评论 -
virustotal采集案例
本案例内容过于简单,不做过多讲解。帮别人查看virustotal网的搜索接口,发现请求头有一参数 x-vt-anti-abuse-header参数定位先找参数位置,全局搜索,直接就搜到了。查看computeAntiAbuseHeader复制到控制台查看本地生成其实没什么难度,代码量很少,可以直接用其他语言复写。我用python的execjs来执行该段js代码。需要注意的是 ‘btoa-atob’ 模块是浏览器环境内的方法,不能直接调用。所以在使用的时候,可以使用 Buffer原创 2021-07-06 13:08:50 · 1192 阅读 · 7 评论 -
58同城协议登录案例
节日快乐!先打个卡,过两天把内容补上!原创 2020-10-24 07:18:50 · 5492 阅读 · 0 评论 -
搜狐网模拟登录案例
需求:通过协议模拟登录搜狐网网址:https://www.sohu.com/打开登录框,抓包找接口,发现POST接口 https://v4.passport.sohu.com/i/login/116005userid是输入的邮箱password是加密后的密码没有找到调用对象,那么ctrl+F 全局搜索password大致看了一下,找到passport.js 进行断点调试发现,该位置就是password的加密方法点击跳转到 utils.md5()方法中,把这一段js复制出来复原创 2020-11-10 17:49:03 · 2176 阅读 · 18 评论 -
Js逆向の参数定位方法
好久没发帖了。扩展脚本打开 chrome 浏览器以后,点击界面右上角的一排竖点。在这个菜单中,将鼠标移到【更多工具】一项上。点击【扩展程序】。点击之后,将会打开 chrome 浏览器的扩展程序列表。在这个列表中可以点击每个扩展程序右下角的开关以便启用或禁用。接下来,你需要先添加扩展程序,点击加载已解压的扩展程序,选择之前下载的文件夹添加成功后可以点击扩展程序右下角的开关启动扩展程序。在使用之前还需要根据自己要找的参数名修改钩子方法,比如我们要找 csdn cookie中的uuid_tt原创 2021-01-20 18:36:48 · 3757 阅读 · 5 评论 -
1688官网以图搜图爬虫案例
阿里1688图片搜索爬虫案例图片上传接口sign生成接口数据详情接口代码部分网址 :https://www.1688.com/在1688.com 使用程序完成图片上传功能。图片上传接口post请求,form表单中有signature签名sign生成接口全局搜素找一下signature,发现了一个返回signature的接口。接口链接: https://open-s.1688.com/openservice/ossDataService这个接口也有一个变动的参数 appKey原创 2020-07-18 13:58:28 · 5046 阅读 · 16 评论 -
优酷评论sign值生成方法
优酷评论爬虫之前抓取的是页面数据,没有具体去看评论接口的参数,昨天发现优酷web版上面的评论模块没了(我猜是要更新评论数据的加载策略,之前页面加载太慢了)然后我就开始调试接口的sign参数,走接口拿数据。这篇文章说下优酷评论sign的生成方法。[具体过程不做太多介绍,文章末尾放代码]一个电视剧的链接:https://v.youku.com/v_show/id_XNDIyMjY5NDcyMA==.html评论数据的接口:接口 :https://p.comments.youku.com/yc原创 2020-05-13 14:34:12 · 2781 阅读 · 1 评论 -
斗鱼password加密参数调试生成案例
斗鱼登陆输入账号密码,拖动滑块后会向登陆接口发起请求。通过抓包发现请求体 Formdata 中的 password 进行了加密。本案例演示如何通过控制台调试找到加密js方法。最后使用python来模拟生成,文末附有代码。斗鱼password加密参数js调试案例1.确定接口2.断点调试3.模拟生成4.Python调用1.确定接口2.断点调试点击控制台的 initiator ,可查看当前的请求是哪一行触发。然后点send,进入js文件点击左下角 {} ,格式化文件然后点击左侧行数,原创 2020-09-02 18:14:29 · 3068 阅读 · 5 评论 -
js逆向-猿人学(15-16)wasm-webpack
猿人学爬虫第十五题《备周则意怠-常见则不疑》地址: http://match.yuanrenxue.com/match/15逻辑很简单,但是到 instance.exports.encode 的时候搞不动了,发现引入了wasmfetch('/static/match/match15/main.wasm').then(response => response.arrayBuffer() ).then(bytes => WebAssembly.instantiate(原创 2021-01-28 18:03:40 · 1901 阅读 · 0 评论 -
js逆向-猿人学(14)备而后动-勿使有变
猿人学爬虫比赛第十四题《备而后动-勿使有变》地址: http://match.yuanrenxue.com/match/14感觉还好吧,至少没有炸内存。开无痕窗口,打开控制台,访问,分析数据包在 http://match.yuanrenxue.com/api/match/14/m 接口中,有两个cookie参数sessionid可以和13题一样,通过response-headers获取。这个mz 需要看一下,首先该接口返回的response有js内容,先用工具尝试还原下。工具地址:htt原创 2021-01-27 17:24:29 · 1231 阅读 · 2 评论 -
js逆向-猿人学(12-13)简易Js
猿人学爬虫比赛第十二题地址: http://match.yuanrenxue.com/match/12后面的题其实不想看了,索然无味。码字花的时间比看题的时间要久。开无痕窗口,打开控制台,访问链接,分析数据包发现有一个m参数。通过堆栈进入断点。m= btoa(‘yuanrenxue’ + window.page)window.page 是当前页码btoa() 是一个nativa方法,用于创建一个 base-64 编码的字符串。用python生成:import base64for原创 2021-01-27 16:36:21 · 1419 阅读 · 1 评论 -
js逆向-猿人学(10-11)js和app协议破解
猿人学爬虫比赛第十题:《js混淆 重放攻击对抗》地址: http://match.yuanrenxue.com/match/10开无痕,开控制台, debugger 右键选择 :never pause here ,先这样瞧一瞧又是无限debugger,后面给页面卡蹦了,电脑内存卡满。处理方法要么不debug要么用js-hook掉吧。然后从堆栈进去找m,拼代码。不好意思,后面我就不看了,实在浪费时间。猿人学爬虫比赛第十一题:《app so文件协议破解》地址: http://match.y原创 2021-01-27 15:59:09 · 1896 阅读 · 1 评论 -
js逆向-猿人学(9)动态cookie困难版
猿人学爬虫比赛第九题:《动态cookie-困难版》地址: http://match.yuanrenxue.com/match/9确实有点东西,我打开控制台,用chrome调试页面时,刷新页面后一直在debug,浏览器都搞崩了。开无痕页面,重新打开控制台,然后在Sources 点击 Deactivate breakpoints ,点击后会变成 Activate breakpoints。接下来,再抓包看一下接口。初次请求 match/9会set一个sessionid。请求 api/match原创 2021-01-26 16:09:45 · 1238 阅读 · 0 评论 -
js逆向-猿人学(7-8)动态字体-图文点选
猿人学爬虫比赛第七题:《动态字体,随风漂移》地址: http://match.yuanrenxue.com/match/7召唤师名字是在html 的 script 标签中,字体是从接口中返回。先请求match/7,然后请求 api/match/7api/match/7返回的json数据,里面data数组有10个字体 和 woff文件的地址。这种动态字体现在已经有固定的处理方式了,用 python处理字体的库 fontTools。先保存一份woff字体,查看一下内容。# -*- codi原创 2021-01-22 18:14:20 · 1244 阅读 · 3 评论 -
js逆向-猿人学(6)混淆回溯
猿人学爬虫比赛第六题《Js-混淆回溯》原创 2021-01-22 16:16:49 · 1965 阅读 · 14 评论 -
js逆向-猿人学(5)乱码混淆增强
猿人学爬虫题目第五题: 《Js乱码-混淆增强》,该案例也非常简单。任务5:抓取全部5页直播间热度,计算前5名直播间热度的加和。抓包分析下请求流程。接口: http://match.yuanrenxue.com/api/match/5?params:m=1611216186090, f=1611216185000headers:参数确定之后,开始调试一下。ctrl+f 一下 _zw,可以找到一个数组。 我直接查了一下第24个push也可以根据数组内容来快速查看,经确定 _zw[23原创 2021-01-22 10:59:14 · 1271 阅读 · 1 评论 -
Js逆向-猿人学(3-4)访问逻辑-样式干扰
猿人学爬虫题目第三题: 《访问逻辑-推心置腹》,该案例也非常简单。第三题和第四题跟Js逆向没有什么关系,本来是不想发的,为了排版好看也发这个专栏里吧。第三题浪费了我十几分钟,因为试了很多次没有返回set-cookie,最后发现是服务端对headers的认证问题。 已知参数中除了 Host 和 Content-Length 别的缺一不可。Accept-Encoding 、 Accept-Language 、Accept、Connection 存在即可Origin 和 Referer 必须有字符串原创 2021-01-21 15:56:41 · 942 阅读 · 3 评论 -
Js逆向-猿人学(2)动态cookie
题目二:提取全部5页发布日热度的值,计算所有值的加和,并提交答案。地址:http://match.yuanrenxue.com/match/2本题简单看了一下,是动态cookie的问题。不管什么难度,第一件事就是抓包,打开控制台从隐私页面进入(无缓存cookie的页面)通过数据包能看到第一次请求时,index页面请求了两次,对比一下,可以发现第二次的请求中多了cookie,m即是我们要获取的参数。然而控制台第一次请求后响应并没有set-cookie,那么说明其实是有响应内容的,我们以代原创 2021-01-21 09:47:44 · 1837 阅读 · 1 评论 -
Js逆向-猿人学(1)源码混淆
猿人学爬虫题目第一题: 《抓取所有机票价格》,该案例非常适合js新手入门。题目链接:http://match.yuanrenxue.com/match/1F12打开控制台,可见debugger出现,右键选择Never pause here;接下来F5,就可以跳过debugger了,查看数据包。看一下请求参数:直接点击查看Initiator进行调试。随便选一个进来断点,选择下一页触发debug没找到就点右侧的call stack,按顺序点一下看点到request看到了有一端不原创 2021-01-21 09:35:51 · 3374 阅读 · 5 评论 -
今日头条as-cp-sign值生成
今日头条用户文章列表页的as—cp-sign的生成规则和模拟方法。本文内容不可用于商业用途,仅做学习交流。https://www.toutiao.com/c/user/104246645773/#mid=1610946690248711AS-CP比较简单。找到之后copy出来就行。Sign值相对复杂一点,先找到 byted_acrawler 后,来追一下sign方法。经过调试,会发现byted_acrawler走到了 https://sf1-ttcdn-tos.pstatp.com/obj/原创 2020-05-30 11:20:19 · 3217 阅读 · 1 评论 -
今日头条信息流_signature
import execjsimport requests'''今日头条信息流'''headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36"}js_sign = '''const jsdom = require("jsdom");const { JSDOM } = js原创 2020-12-09 17:24:43 · 3313 阅读 · 3 评论