moumoutoutiao _signature 逆向分析
My courage always rises with every attempt to intimidate me. ——《傲慢与偏见》
凡试图打败我的,皆让我勇气倍增。
PS: 本文仅供学习参考、仅供学习参考、仅供学习参考,不得用于商业用途。
请求分析
本次目标站点
aHR0cHM6Ly93d3cudG91dGlhby5jb20vP3dpZD0xNjUxMjA5OTE1Mjk5
经过分析,该请求共有两个参数是一直变化的 max_behot_time 和 _signature,max_behot_time 没有加密,初始值为 0,本次请求响应中就存在下次请求需要的 max_behot_time,所以接下来的内容主要是分析 _signature 参数的的生成。
JS 分析
没有什么是全局搜索大法搞不定的,如果有,那就放弃吧!!!只有在一个文件中包含 _signature,我觉得我又行了,打上断点,成功断上。
window.byted_acrawler.sign
可以看到我们需要重点关注的就是 S 函数,跟进去看看是个什么东东。这个 i 应该就是我们需要的,i 上面 ...
mouyan4代滑块验证码逆向分析
What matters is what you do, not what you think. ——《疯狂前女友》
行动比空想更重要。
PS: 本文仅供学习参考、仅供学习参考、仅供学习参考,不得用于商业用途。
请求分析
本次目标站点
aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vYWRhcHRpdmUtY2FwdGNoYS1kZW1v
第一个请求
需要从源码中提取adaptive-captcha-demo.js链接地址以进行下一步请求
第二个请求
提取 captchaId 参数
上面的两个请求一般情况下是可以忽略的,因为构造这两个请求是为了获取 captchaId 的值,但一般情况下这个值是固定的。
第三个请求
这里面包含了验证码图片、js等文件链接地址,这意味着逆向从这里开始。
分析一下这个请求所需要的参数
captcha_id: 24f56dc13c40dc4a02fd0318567caef5 # 固定值,不出意外以为一个站定就一个
challenge: bcf91a78-71a0-4820-9578-dffff5cebd82 # ...
本地js文件替换源网页js的几种方式
Everything wile be okay in the end. If it’s not okay, it’s not the end. ——《涉外大饭店》
一切都终会都会好起来的。如果没有好起来,说明没有到最后。
ReRes 插件替换 JS 文件
使用 ReRes 插件替换 JS 文件,需要将 允许访问文件网址 权限打开。
点击进入拓展程序选项,按照下图所示配置,最后别忘了在 Enable 打上勾(默认应该是打上勾的)。
Charles 替换 JS 文件
清空浏览器缓存,防止抓不到包。点击 Tools 然后点击 Map Local…
点击 Choose 按钮,选择文件,点击 OK 。
我们还需要解决跨域问题,否则的话是无法成功替换的。点击 Tools 然后点击 Rewrite…
新建一个规则,添加站点,填写具匹配规则,如下图
新增替换规则,类型选择 Add Header,在 Replace 填写替换规则,如下图:
Chrome 替换 JS 文件
本地新建一个文件夹,用来存放要替换的 js 文件。Chrome 控制台,点击验证码,点 ...
Linux常用命令(六) tmux:终端多路复用器
The only person standing in your way is you. ——《黑天鹅》
唯一能够阻碍你的人是你自己。
简介
tmux 是一个终端多路复用器:它允许从单个屏幕创建、访问和控制多个终端。tmux可以从屏幕上分离出来,继续在后台运行,然后重新连接。在 tmux 中运行的程序可以是像vim 或top、htop这样的全屏交互程序,像bash或ksh这样的 shell,或者可以在 Unix 终端中运行的任何其他程序。
tmux可以在 OpenBSD、FreeBSD、NetBSD、Linux、macOS 和 Solaris 上运行。
官方地址:https://github.com/tmux/tmux
tmux 的主要用途是:
通过在 tmux 中运行它们来保护远程服务器上正在运行的程序免受连接中断的影响。
允许从多个不同的本地计算机访问远程服务器上运行的程序。
在一个终端中同时处理多个程序和 shell,和窗口管理器类似。
安装
平台
安装命令
|Debian or Ubuntu|apt install tmux|
|RHEL or CentO ...
常见的 JavaScript 混淆及应对
Each day brings a new beginning.——《双峰》
每天都是一个新的开始。
AAEncode
示例
AAEncode 是一种将 JavaScript 转化为常用颜文字网络表情组合的混淆方式,如下图:
方案一
打开控制台,将代码粘贴其中,执行让其报错(如果没报错请放弃这个方案😂),根据报错信息进入 VM 中,就能看到源码(不过,我遇到的用这个方法从来没有成功过😭)
方案二
打开控制台,点击源代码,找到代码块,点击新增代码块,将 JS 代码粘贴进去,在代码最顶部添加一个 debugger,执行代码进行调试,一步步调试,直到达到想要的效果
方案三
打开控制台,将代码粘贴其中,去掉最后一个 (‘_’) 表情,直接执行得到结果或者在后面添加 toString 让其转化为字符串
JJEncode
示例
JJEncode 是一种将 JavaScript 转化为仅由符号组合的混淆方式,如下图:
方案一
打开控制台,将代码粘贴其中,执行让其报错,根据报错信息进入 VM 中,就能看到源码(这个方法同样从来没有成功过😭)
方案二
...
树莓派折腾记(二)-- 停电后 Ubuntu Server 全部文件变成只读模式
Success is working up in the morning, so excited about what you hava to do.——《名扬四海》
成功是清晨醒来,对自己的人生充满期待。
前言
在写这个系列之前我的树莓派就已经被我折腾完了。我安装了ARM版本的anaconda,配置了虚拟环境,安装了docker,docker倒是有ARM版本的,然后又在docker安装了MySQL、MongoDB等,最后舍弃TF,将系统迁移到了固态硬盘(这些在后面的折腾记中会一一提到)。在这台树莓派上我还跑着几个爬虫,然而,灾难发生了,在一次停电过后,Ubuntu 全部文件变成只读模式(readonly),且很多命令不可用。
问题复现
这是使用MobaXterm登录后的样子,报错如下图:并且是顿了好久才进入了系统
执行 docker ps -a 命令后,报错如下图:
执行 sudo service docker restart 后,报错如下图:
执行 sudo su 后,报错如下图并卡顿了一会,虽说切换到了root用户,但是打开文件还是只读模式
解决问题 ...
树莓派折腾记(一)-- 安装系统(Ubuntu Server 20.04.1)
We can’t change the past. But we can make the future.——《都市侠盗》
不念过往,未来可期。
前言
最近刚整个了个树莓派4B 8GB版本,详细配置如下:
准备给它装上 Ubuntu Server 20.04 当服务器来用。关于什么是树莓派这里不做过多赘述,有兴趣的话可以浏览下面几篇文章:树莓派 (微型电脑)_百度百科 、树莓派电脑_百度百科 、能用树莓派干些什么有趣的事情?
镜像准备
既然要安装ubuntu server,那肯定要去ubuntu官网了!
ubuntu 有可供树莓派安装使用的基于arm64架构的系统。我的是树莓派4B,就按照下图所示进行下载。
如果你的浏览器转了好大会圈圈还不下载,就点击下图中的的红框,立即下载。推荐使用迅雷下载,不然你可能要等到花都谢了!!!
下载完成之后它是一个以xz结尾的压缩文件,有600M+大小,我们需要将它解压,解压后的文件后缀为img,有3G+大小,也就是我们所需要的镜像。如下图所示:
烧录系统
树莓派安装系统与我们平常用的台式机笔记本安装系统的方式不 ...
Ubuntu Server 20.04 配置静态IP
All that matters is knowing what you really want and goting after it . ——《速度与激情3:东京漂移》
重要的是知道自己想要什么,然后去争取。
前言
在上篇文章Ubuntu Server 20.04 LTS 安装中,留下了一点小坑,那就是没有配置静态IP,没有静态IP意味着你的虚拟机、电脑或路由设备重启,IP有可能会更换。如果你使用ssh工具连接虚拟机或者你把虚拟机当做服务器来用并安装一些服务的话,这意味着每次重启你都大概率需要修改IP。所以为了方便使用,我们需要将IP固定,也就是将动态IP设置为静态IP。
配置
为了方便使用一些网络命令,我们需要安装 net-tools。(我这样是已经安装过了的)
1sudo apt install net-tools
现在我们在终端输入 ifconfig ,可以看到我的网卡是 ens32,IP是192.168.0.200
终端输入 route -n 看一下网关,是192.168.0.1
Ubuntu Server 20.04 是使用 netplan 工 ...
Ubuntu Server 20.04 LTS 安装
Keep smiling and never give up, even when things get you down. ——《黑鹰坠落》
即使现实令你沮丧, 也要保持微笑,永不永不言败。
本地环境
Windows 10 专业版 1909
VMware Workstation 16 Pro
镜像准备
进入Ubuntu Server 下载页面,点击Option 3
进入如下图的页面,点击 Download Ubuntu Server 20.04.1 LTS,就可以下载了。
这样直接下载的速度大概是2~3m的样子,如果你觉得下载慢,可以使用迅雷下载。这里我使用的是Chrome 可以在搜索栏输入 chrome://downloads/ 既可进入Chrome的下载内容,然后右键复制链接地址在迅雷下载,我使用的是百兆带宽的WiFi,因为连接的设备较多,但依然可以达到5m左右。
VMware 准备
选择自定义(高级),点击下一步
点击下一步
选择稍后安装操作系统,点击下一步
客户端操作系统选择Linux,版本选择Ubuntu 64 位即可,点 ...
Scrapy
If you only do what you can do, you will never be more than you are now. ——《功夫熊猫3》
如果你只做力所能及的事情, 你就没办法进步。
什么是 Scrapy
Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy是一个适用爬取网站数据、提取结构性数据的应用程序框架,它可以应用在广泛领域:Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。
截止2020年11月16日,Scrapy最新版本为2.4,Python版本最低要求3.6+,适用于Linux,Windows,macOS,BSD
Scrapy 官方站点
github地址:https://github.com/scrapy/scrapy
官方社区:https://scrapy.org/
...
