在上文中较为详细的介绍了指纹、设备指纹的常规获取与获取指纹环境监测,本节将详细的了解一下
浏览器指纹在反爬虫领域的应用,Android分析暂且搁置(其实是我也并不精通,pc端比较熟悉一点)
在上文中较为详细的介绍了指纹、设备指纹的常规获取与获取指纹环境监测,本节将详细的了解一下
浏览器指纹在反爬虫领域的应用,Android分析暂且搁置(其实是我也并不精通,pc端比较熟悉一点)
在做爬虫的时候,很多时候都会遇到较成熟成体系的安全产品。更好的”认识”它,对于解决有至关重要的帮助。以下一起来了解一下网站常见防护产品及特征
声明:本节不涉猎任何实际的产品破解,仅介绍其特征与辨别方式或思路。以下仅根据个人现所了解暂划分为一线、二线等。
学习的对象,自研产品。安全系数高,分析较困难
ali、akamai、jd、pdd、google(含无感验证码)、各大银行支付接口
阿里云验证码: https://help.aliyun.com/product/28308.html
控制台中有g.alicdn.com字样,其中/后为版本号
主要在tls指纹进行相关加密
自写的虚拟机
Web pack 打包 + 风控
5s 盾 + 谷歌验证码
绕过方案与线索
可敬的对象
加密与代码保护:瑞数信息(瑞数)、创宇超防(加速乐)、
验证码:极验、数美、五秒盾、易盾、顶象
特征:
1.
一长段的:content。有点类似于ob的大数组
script标签中带有 r=“m”的字样
执行加密函数1,函数名为 _$xx(xxx)
执行加密函数2(实际加密处)
动态js
版本号
首数字开头的编号,编号常见的有4、5、6代
实际内容如下图所示
魔改ob
用于cookies拼接
geetest(极验)官网:https://www.geetest.com/
demo:https://www.geetest.com/demo/
体验:https://www.ishumei.com/trial/captcha.html
Demo:https://dun.163.com/trial/space-inference
主要来源于开源框架
Ob混淆系(obfuscator、sojson、Jsaham)、Jsfuck、JJEncode、AAEncode、eval等、
obfuscator: https://obfuscator.io/
sojson:https://www.sojson.com/jsjiemi.html
Jsaham:http://www.jshaman.com/#section2
jstuck:http://www.jsfuck.com/ GitHub:https://github.com/aemkei/jsfuck
JJEncode:http://www.atoolbox.net/Tool.php?Id=704
JJEncode:http://www.atoolbox.net/Tool.php?Id=703
Eval:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/eval;
分析:eval换为console.log()(前提:console.log未改写)
特点
Example:
配合eval类型防护:
- 直接放控制台console执行(报非unsafe错误);点击错位堆栈直接完成脱壳
2.控制台不报错,构建强制报错。删除一些代码(为了不干扰原本代码,建议删除括号或加无意义代码)
3。控制台报unsafe错误,自写html文件运行。参考以上
混淆部分数字:
工程化工具、各种加密函数魔改、辅助作用
webpack、vue、react、angular
webpack:https://webpack.docschina.org/
关键点:加载器(也叫分发器)
经典绕过方案:点位插桩
扣取思路:找到加载器、扣出加载器构建自己的加载器(网站与关键参数(函数))、补环境
163:网易易盾-数字内容风控-内容安全|业务安全|移动安全 (163.com)
问题描述: 由于某种原因,我必须需要将某个集合的键(Key)复制一份副本。并移动到目标库
拿到这个问题,脑海里一共有两种方式
简单来说他是类似于yum、apt
,mac的包管理工具,使用它我们可以非常简单、丝滑的下载大部分的包、或者软件
第一次可以尝试使用如下命令进行安装
1 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
由于种种原因,如果安装不上,可以使用华科大的源进行安装
1 |
/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)" |
安装完成后,检查一下
1 |
brew update && brew upgrade && brew doctor |
设置
1 |
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" remote set-url origin https://github.com/Homebrew/homebrew-core |
原生的mac,zsh是没有命令提示的,以及显示也并没有那么好看。自定制一下,终端建议使用iterm2
下载iterm2
1 |
brew install --cask iterm2 |
1 |
# curl 安装方式 |
1 |
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc |
1 |
chsh -s /bin/zsh |
在终端中新建一个窗口(快捷键:command + n),你就发现不一样的shell,如下图所示
1 |
# zsh-autosuggestions 提供自动补全功能 |
.zshrc
文件如下
1 |
# If you come from bash you might have to change your $PATH. |
1 |
# zsh |
并发模式并不是一种函数的运用、亦或者实际存在的东西。他是前人对于并发场景的运用总结与经验。他与23中设计模式一样。好啦,话不多说。开干
无论是如何厉害的架构还是编程方式,我始终相信都是从零开始,不断的抽象,不断的迭代的。抽象思维对于我们尤为重要。那么我们也带着这样的一个疑问。思考到底什么是抽象
首先我们将要学习的是work pool
模式
其实本节的文章我在很久之前就已经发过了一次,但不够详细,层次不轻。我今天部署的时候看的够呛(虽然也是部署成功了)
,也算是对以前的坑,做个忏悔吧。本文可能会比较boring,但请相信这并不是我的本意。这一定是最精简的笔记之一,相信我这绝对不是混水。
本文主要分三大部分,他们分别是系统初始化、安装docker、安装Kubernetes,测试验证与删库跑路