摘要: 第54题 无限debugger练习/入门js 本题打开控制台就会自动无限 debugger,解决无限 debugger 的最简单方式就是使用 Firefox 121 版本以上的版本,Firefox 121 以上的版本会对代码内部的 debugger 自动过滤,只有手动打的断点才会生效。 本题是无限 阅读全文
posted @ 2024-06-07 00:19 脱下长日的假面 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 第21题 一个套了轻ob的webpack 观察接口请求参数可以发现,需要我们逆向参数 s,经过查看调用堆栈,很容易找到参数位置,如下: 可以看到,这是一个 webpack 文件,此时有两种处理方式,第一种是直接复制该文件到本地,将参数暴露到全局,根据报错修补环境;第二种是先将加载器函数复制出来,然后 阅读全文
posted @ 2024-06-01 16:52 脱下长日的假面 阅读(23) 评论(0) 推荐(0) 编辑
摘要: AST 是源代码的抽象语法结构的树状表示。利用它可以还原混淆后的js代码。 @babel/parser 是js语法编译器 Babel 的 nodejs 包,内置很多分析 js 的方法,可以实现js到AST的转换。 JS 转为 AST:https://astexplorer.net/ 准备工作: 需安 阅读全文
posted @ 2024-05-15 18:05 脱下长日的假面 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 案例引入: 先看一个网站:https://www.httpbin.org/delay/5, 该网站会强制等待5秒后才返回响应。如果想访问100次该网站,单线程的情况下,至少要等待500秒才能全部执行完毕。为了提高访问效率,可以使用协程实现加速。 首先需要了解一些基础概念: 阻塞:指程序未得到所需计算 阅读全文
posted @ 2024-05-05 01:31 脱下长日的假面 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 在数据采集的过程中,可能需要一些进程间的通信,如 一个进程负责构造爬取请求,另一个负责执行这些请求; 某个数据爬取进程执行完毕,通知另一个负责数据处理的进程开始爬取数据; 某个进程新建了一个爬取任务,通知另一个负责数据爬取的进程开始爬取数据。 为了降低进程耦合度,需一个消息队列中间件来存储和转发消息 阅读全文
posted @ 2024-05-04 18:50 脱下长日的假面 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 第16题:表情包+sojson6.0 抓包分析可知,需逆向safe参数,根据调用堆栈很容易找到safe的生成位置,如下: 上方有一段特殊字符组成的内容,查看上下文并未找到token,因此token很可能是这段特殊字符构成的代码生成的,单步调试可以发现,上面是在进行赋值操作,最后一行很长的那一行是进行 阅读全文
posted @ 2024-04-28 22:07 脱下长日的假面 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 第12题:静态css字体加密 抓包发现,返回结果数字均为这种格式 &#xe449,经对比发现,该串字符串与数字0~9有着一一对应关系,响应匹配即可: data_set = { '&#xe458': '1', '&#xf375': '2', '&#xf80c': '3', '&#xf12f': '4' 阅读全文
posted @ 2024-04-27 00:09 脱下长日的假面 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 第11题:人均会解jsl 控制台抓包可以看到,页面请求了两次 https://www.python-spider.com/challenge/11 第一次返回了一段js代码,第二次返回了所需数据: 对比两次请求参数发现,只有cookie中的__jsl_clearance发生了变化,其他参数均相同,因 阅读全文
posted @ 2024-04-26 23:06 脱下长日的假面 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 第六题:session保持检测 使用session请求即可:session = requests.Session() 第七题:请求规律检测1-post 根据请求接口找规律,在每一页请求前请求一次https://www.python-spider.com/cityjson即可 requests.pos 阅读全文
posted @ 2024-04-26 21:29 脱下长日的假面 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 第1题. 无混淆js加密 抓包可以看到,有一个请求头参数 safe 加密。 根据调用堆栈很容易找到加密参数位置: 可以看到,safe 是由固定字符串 a = '9622' 加 时间戳,经base64编码后,传入 hex_md5 方法得到。 进入 hex_md5 ,直接复制 md5.js 到本地,调用 阅读全文
posted @ 2024-04-26 01:08 脱下长日的假面 阅读(60) 评论(0) 推荐(0) 编辑