关注微信公众号:K哥爬虫,持续分享爬虫进阶、JS/安卓逆向等技术干货!
文章目录
- 前言
- 编码系列
- Base 系列编码
- Unicode 编码
- Escape 编码
- URL / Hex 编码
- 加密算法
- MD5
- SHA 系列
- HMAC 系列
- RSA
- AES、DES、3DES、RC4、Rabbit 等
- SM 系列
- 混淆系列
- Obfuscator
- JJEncode
- AAEncode
- JSFuck
- Jother
- Brainfuck
- Ook!
- Trivial brainfuck substitution
- 其他
- 恺撒密码
- 栅栏密码
- 猪圈密码
- 摩斯密码
- 培根密码
- 维吉尼亚密码
- 与佛论禅
- 当铺密码
前言
爬虫工程师在做加密参数逆向的时候,经常会遇到各种各样的加密算法、编码、混淆,每个算法都有其对应的特征,对于一些较小的网站,往往直接引用这些官方算法,没有进行魔改等其他操作,这种情况下,如果我们能熟悉常见算法的特征,通过密文就能猜测出使用的哪种算法、编码、混淆,将会大大提高工作效率!在 CTF 中通常也会有密码类的题目,掌握一些常见密文特征也是 CTFer 们必备的技能!
本文将介绍以下编码和加密算法的特征:
- 编码:Base 系列、Unicode、Escape、URL、Hex;
- 算法:MD5、SHA 系列、HMAC 系列、RSA、AES、DES、3DES、RC4、Rabbit、SM 系列;
- 混淆:Obfuscator、JJEncode、AAEncode、JSFuck、Jother、Brainfuck、Ook!、Trivial brainfuck substitution;
- 其他:恺撒密码、栅栏密码、猪圈密码、摩斯密码、培根密码、维吉尼亚密码、与佛论禅、当铺密码。
PS:常见加密算法原理以及在 Python 和 JavaScript 中的实现方法可参见K哥以前的文章:【爬虫知识】爬虫常见加密解密算法
编码系列
Base 系列编码
Base64 是我们最常见的编码,除此之外,其实还有 Base16、Base32、Base58、Base85、Base100 等,他们之间最明显的区别就是使用了不同数量的可打印字符对任意字节数据进行编码,比如 Base64 使用了64个可打印字符(A-Z、a-z、0-9、+、/),Base16 使用了16个可打印字符(A-F、0-9),这里主要讲怎么快速识别,其具体原理可自行百度,Base 系列主要特征如下:
- Base16:结尾没有等号,数字要多于字母;
- Base32:字母要多于数字,明文数量超过10个,结尾可能会有很多等号;
- Base58:结尾没有等号,字母要多于数字;
- Base64:一般情况下结尾都会有1个或者2个等号,明文很少的时候可能没有;
- Base85:等号一般出现在字符串中间,含有一些奇怪的字符;
- Base100:密文由 Emoji 表情组成。
示例:
编码类型
|
示例一
|
示例二
|
明文
|
01234567890
|
administrators
|
Base16
|
3031323334353637383930
|
61646D696E6973747261746F7273
|
Base32
|
GAYTEMZUGU3DOOBZGA======
|
MFSG22LONFZXI4TBORXXE4Y=
|
Base58
|
cX8j8pvGzppMKVb
|
BNF5dFLUTN5XwM1yLoF
|
Base64
|
MDEyMzQ1Njc4OTA=
|
YWRtaW5pc3RyYXRvcnM=
|
Base85
|
0JP==1c70M3&rY
|
@:X4hDJ=06Eaa'.EcV
|
Base100
|
CTF爬虫:掌握这些特征,一秒识别密文加密方式相关推荐
- 快速识别Hash加密方式hashid
快速识别Hash加密方式hashid hashid工具是用来识别不同类型的散列加密,进而判断哈希算法的类型.该工具的而语法格式如下所示: hashid [option] INPUT 其中,option ...
- java 爬虫 token,【跟我一起做爬虫】XX商家后台登录rohrToken的加密方式【更新】...
心想,有什么难度啊,估计可能就藏在那个页面里 5分钟后,坐在办公室和同事点了根烟,思考究竟是哪里出了问题 简单总结一下页面 2.png (441.58 KB, 下载次数: 0) 2019-5-14 1 ...
- 《集成电路先进光刻技术与版图设计优化》课程分享之二:浸没式光刻工艺缺陷种类、特征及自识别方法
国科大微电子学院是国家首批支持建设的示范性微电子学院,国科大微电子学院开设的<集成电路先进光刻技术与版图设计优化>课程是国内少有的研究讨论光刻技术的研究生课程,而开设课程的韦亚一研究员及其 ...
- 【2021.12.25】ctf逆向中常见加密算法和编码识别
[2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 文章目录 [2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 0.前言 1.基础加密手法 2.b ...
- “151秒识别128万张ImageNet图像”背后,腾讯告别技术赛马
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 担任腾讯技术运营副总监好几年,徐海丽的风格一向稳健,可今年十月底申报预算时却特别紧张,因为她打 ...
- 调用摄像头使用face_recognition 或 opencv中haar人脸特征实时检测识别人脸、给人脸打马赛克/给人脸贴图
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) OpenCV:python调用摄像头同时使用OpenCV中自带 ...
- python二维码特征定位与识别
python二维码特征定位与识别 1. 项目背景 2.引入相关库 3. 图像预处理 4. 识别位置探测图像 1. 项目背景 在使用手机等移动设备对发票中的二维码进行扫描识别的时候,经常会出现这样的情况 ...
- 识别TLS加密恶意流量
利用背景流量数据(contexual flow data)识别TLS加密恶意流量 识别出加密流量中潜藏的安全威胁具有很大挑战,现已存在一些检测方法利用数据流的元数据来进行检测,包括包长度和到达间隔时间 ...
- 爬虫破解安居客等网址信息字体加密
爬虫破解安居客等网址信息字体加密fanchan-secret 以安居客网站为例,我们爬取的房价以及其他很多数字都是乱码,閏龤龤龤元/月,龒室龤厅龒卫龥龤㎡. 右键检查元素会发觉,看上去正常的数字,在h ...
最新文章
- 获取项目文件在服务器的真实路径
- MT76x8的多网口与GPIO复用配置
- [转载]一个游戏程序员的学习资料
- php5.4.41 绿色_编译安装PHP5.4.41
- 文本输入框input将输入转换为统一大小写
- 基类和派生类的构造函数,隐式调用与显式调用
- 小米mix2s html,【小米MIX2s评测】2018需要加价买的旗舰 小米MIX 2S评测_小米 MIX 2s(6GB RAM/全网通)_手机评测-中关村在线...
- python之将python代码编译成.so
- Mac vscode花屏问题解决
- 数据挖掘知识图谱(大数据分析师)
- 协同过滤算法:在线推荐系统如何工作?
- [leetcode]187. Repeated DNA Sequences寻找DNA中重复出现的子串
- 2022-2028全球与中国锂电池用PVDF市场现状及未来发展趋势
- PLC实训 —系统电路及设备认识
- POST和GET请求,接码
- 魔兽任务分类及游戏任务系统设计启示
- Fedora安装 win7 32b 安装fedora x64 dvd
- (论文笔记07.Survivalism: Systematic Analysis of Windows Malware Living-Off-The-Land(CCF A)2021)
- 蓝牙BLE4.0-HM-10设备配对指南
- 锁定计算机 k 是什么意思,计算机中的K、M、G、T到底指的是
热门文章
- Httpd 使用ip可以访问,localhost和127.0.0.1不能访问
- 数学 之 hdu 4861
- iReport报表工具的使用
- [读书笔记]TCP/IP详解V1读书笔记-1
- [Leetcode][第17题][JAVA][电话号码的字母组合][回溯]
- memcpy函数_[PART][BUG][MSVCRT][C][CCF NOI1097] 关于memcpy的坑
- for命令不跳过空白行_Java程序员必备:查看日志常用的linux命令
- python判断字母数字_Python判断字符串是否为字母或者数字(浮点数)的多种方法
- 回溯——伯努利装错信封问题
- acctype mysql assoc_DedeCMS V5.3二次开发经验分享
|