ctf常见编码形式(罗师傅)
https://zhuanlan.zhihu.com/p/30323085 这是原链接
ASCII编码
•ASCII编码大致可以分作三部分组成:
•第一部分是:ASCII非打印控制字符(参详ASCII码表中0-31);
•第二部分是:ASCII打印字符,也就是CTF中常用到的转换;
•第三部分是:扩展ASCII打印字符(第一第三部分详见 ASCII码表 解释)。
•
•源文本:
The quick brown fox jumps over the lazy dog
ASCII编码对应十进制:
84 104 101 32 113 117 105 99 107 32 98
114 111 119 110 32 102 111 120 32 106 117 109 112 115 32 111 118 101 114 32 116
104 101 32 108 97 122 121 32 100 111 103
ASCII对应表
Base64/32/16编码
•base64、base32、base16可以分别编码转化8位字节为6位、5位、4位。16,32,64分别表示用多少个字符来编码,这里我注重介绍base64。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。包括MIME的email,email via MIME,在XML中存储复杂数据。
•i love CTF
•aSBsb3ZlIENURg==
•
•重要特征,大部分base64后面有1-2个等号
原因:
• Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。
如果剩下的字符不足3个字节,则用0填充,输出字符使用’=’,因此编码后输出的文本末尾可能会出现1或2个’=’。
URL编码
•url编码又叫百分号编码,是统一资源定位(URL)编码方式。URL地址(常说网址)规定了常用地数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用(/,:@等),剩下的其它所有字符必须通过%xx编码处理。
现在已经成为一种规范了,基本所有程序语言都有这种编码,
•编码方法很简单,在该字节ascii码的的16进制字符前面加%. 如
空格字符,ascii码是32,对应16进制是’20’,那么urlencode编码结果是:%20。
•源文本:
The
quick brown fox jumps over the lazy dog
•编码后:
•%54%68%65%20%71%75%69%63%6b%20%62%72%6f%77%6e%20%66%6f%78%20%6a%75%6d%70%73%20%6f%76%65%72%20%74%68%65%20%6c%61%7a%79%20%64%6f%67
MD5
•Message
Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护
•结果都是一个定长:16 、32、64。
•MD5
(“message digest”) = f96b697d7cb7938d525a2f31aaf161d0
莫尔斯电码
•
•摩尔斯电码(Morse Code)是由美国人萨缪尔·摩尔斯在1836年发明的一种时通时断的且通过不同的排列顺序来表达不同英文字母、数字和标点符号的信号代码,摩尔斯电码主要由以下5种它的代码组成:
•点(.)
•划(-)
•每个字符间短的停顿(通常用空格表示停顿)
•每个词之间中等的停顿(通常用
/ 划分)
•以及句子之间长的停顿
在线解码:Morse Code
栅栏密码
•栅栏密码(Rail-fence Cipher)就是把要加密的明文分成N个一组,然后把每组的第1个字符组合,每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合,最后把他们全部连接起来就是密文,这里以2栏栅栏加密为例。
•明文:
The quick brown fox jumps over the lazy dog
•
•去空格:
Thequickbrownfoxjumpsoverthelazydog
•
•分组:
Th eq ui ck br ow nf ox ju mp so ve rt he la zy
do g
•
•第一组:
Teucbonojmsvrhlzdg
•
•第二组:
hqikrwfxupoeteayo
•
•密文:
Teucbonojmsvrhlzdghqikrwfxupoeteayo
凯撒密码
•凯撒密码(Caesar Cipher或称恺撒加密、恺撒变换、变换加密、位移加密)是一种替换加密,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推
•
•加密实例:
明文: The quick brown fox jumps over the lazy dog
偏移量:1
密文: Uif rvjdl cspxo gpy kvnqt pwfs uif mbaz eph
解密网站http://planetcalc.com/1434/
ROT5/13/18/47
•(其实就是特殊的凯撒密码)
•ROT5/13/18/47是一种简单的码元位置顺序替换暗码。此类编码具有可逆性,可以自我解密,主要用于应对快速浏览,或者是机器的读取。
•ROT5
是 rotate by 5 places 的简写,意思是旋转5个位置,其它皆同。下面分别说说它们的编码方式:
•ROT5:只对数字进行编码,用当前数字往前数的第5个数字替换当前数字,例如当前为0,编码后变成5,当前为1,编码后变成6,以此类推顺序循环。
•ROT13:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,例如当前为A,编码后变成N,当前为B,编码后变成O,以此类推顺序循环。
•ROT18:这是一个异类,本来没有,它是将ROT5和ROT13组合在一起,为了好称呼,将其命名为ROT18。
•ROT47:对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前数的第47位对应字符替换当前字符,例如当前为小写字母z,编码后变成大写字母K,当前为数字0,编码后变成符号_。用于ROT47编码的字符其ASCII值范围是33-126,具体可参考ASCII编码,下面以rot13以例。
•
•明文:
the quick brown fox jumps over the lazy dog
•
•密文:
gur dhvpx oebja sbk whzcf bire gur ynml qbt
简单替换密码
•简单换位密码(Simple Substitution Cipher)加密方式是以每个明文字母被与之唯一对应且不同的字母替换的方式实现的,它不同于恺撒密码,因为密码字母表的字母不是简单的移位,而是完全是混乱的。
比如:
•
- •明文字母
- abcdefghijklmnopqrstuvwxyz
- •密文文字母
- phqgiumeaylnofdxjkrcvstzwb
•明文:
the quick brown fox jumps over the lazy dog
•
•密文:
cei jvaql hkdtf udz yvoxr dsik cei npbw gdm
猪圈密码
•猪圈密码(Pigpen Cipher或称九宫格密码、朱高密码、共济会密码或共济会员密码),是一种以格子为基础的简单替代式密码。
•明文字母和对应密文:
•明文:
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
•
•密文:
•
jjencode/aaencode
jjencode将JS代码转换成只有符号的字符串,类似于rrencode,介绍的 PPT ,aaencode可以将JS代码转换成常用的网络表情,也就是我们说的颜文字js加密。
•jjencode/aaencode的解密直接在浏览器的控制台里输入密文即可执行解密。
Jsfuck/jother
brainfuck
•Brainfuck是一种极小化的计算机语言,按照"Turing complete(完整图灵机)"思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainF**k
语言只有八种符号,所有的操作都由这八种符号( > < + - . , [ ] )的组合来完成。
•hello!
•
•#!shell
•+++++
+++++ [->++ +++++ +++<] >++++ .—. +++++ ++…+ ++.<+ +++++ +++++
•[->++
+++++ ++++< ]>+++ ++++. <++++ +++[- >---- —<] >–.<
+++++ ++[->
•-----
–<]> ----- ----- .<
•Brainfuck: https://www.splitbrain.org/services/ook
在线工具:Brainfuck/Ook! Obfuscation/Encoding
ctf常见编码形式(罗师傅)的更多相关文章
- ctf常见源码泄露
前言 在ctf中发现很多源码泄露的题,总结一下,对于网站的搭建要注意删除备份文件,和一些工具的使用如git,svn等等的规范使用,避免备份文件出现在公网 SVN源码泄露 原理 SVN(subversi ...
- CTF常见编码及加解密(超全)
@ 目录 前言 常见CTF编码及加解密 补充 ASCII编码 base家族编码 MD5.SHA1.HMAC.NTLM等类似加密型 1.MD5 2.SHA1 3.HMAC 4.NTLM 5.类似加密穷举 ...
- CTF常见加密方式汇总
1.栅栏密码 在IDF训练营里做过一道关于栅栏密码的问题. 栅栏密码的解法很简单,也有点复杂,字符长度因数多得会有很多个密码.对,栅栏密码的解法就是:计算该字符串是否为合数,若为合数,则求出该合数除本 ...
- CTF常见源码泄漏总结
.hg源码泄漏 漏洞成因: hg init的时候会生成.hge.g.http://www.am0s.com/.hg/ 漏洞利用:工具:dvcs-ripperrip-hg.pl -v -u http:/ ...
- CTF常见的加密和编码方法
目录 哈希摘要算法 对称加密算法 其他加密算法 编码 哈希摘要算法 以 root 加密为例. MD4:32位的摘要算法.2add09183d0b1dc0428701df9838fba MD5:32位 ...
- ctf常见php弱类型分析
1. 布尔反序列化 $unserialize_str = $_POST['password']; $data_unserialize = unserialize($unserialize_str); ...
- CTF 常见操作总结
一般流程 首先看header, veiwsource, 目录扫描 有登陆, 尝试sql注入&爆破 有数据库, 必然sql注入? 普通sql注入 判断是否存在回显异常 尝试单双引号 查是字符型? ...
- 实战经验|大神战队都在i春秋教你打CTF
全国大学生信息安全竞赛创新实践能力赛旨在培养.选拔.推荐优秀信息安全专业人才创造条件,促进高等学校信息安全专业课程体系.教学内容和方法的改革,培养学生的创新意识与团队合作精神,普及信息安全知识,增强学 ...
- CTF web题型解题技巧
工具集 基础工具:Burpsuite,python,firefox(hackbar,foxyproxy,user-agent,swither等) 扫描工具:nmap,nessus,openvas sq ...
随机推荐
- mysql的日志文件及其作用
MySQL中有七种日志文件,分别是: 重做日志(redo log) 回滚日志(undo log) 二进制日志(binlog) 中继日志(relay log) 错误日志(errorlog) 慢查询日志( ...
- Arduino+AS608指纹锁避坑记
Arduino+AS608指纹锁避坑记 .title { text-align: center; margin-bottom: 0.2em } .subtitle { text-align: cent ...
- 西门子 S7300 以太网模块连接组态王方法
北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...
- 重新整理 .net core 实践篇—————配置系统之简单配置中心[十一]
前言 市面上已经有很多配置中心集成工具了,故此不会去实践某个框架. 下面链接是apollo 官网的教程,实在太详细了,本文介绍一下扩展数据源,和简单翻翻阅一下apollo 关键部分. apollo 服 ...
- 如何不做登录请求而获取cookie到Jmeter里
如何不做登录请求而获取cookie到Jmeter里? 登录被测系统后,按F12,找到如下位置,将这个表格所有信息都复制到Jmeter的HTTP Cookie管理器元件,这样就可以不需要登录,能继续发送 ...
- java后端知识点梳理——java集合
集合概览 Java中的集合,从上层接口上看分为了两类,Map和Collection.Map是和Collection并列的集合上层接口,没有继承关系. Java中的常见集合可以概括如下. Map接口和C ...
- Python集合:set
集合 集合的描述 set是一个无序不重复的序列,可以用{}或者 set() 函数创建集合,它存放不可变类型(如字符串.数字.元组)数据. 注意:创建一个空集合必须使用set()方法,因为{}是用来生成 ...
- 「题解」300iq Contest 2 H. Honorable Mention
本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目链接:gym102331H. 题意概述 给定一个长度为 \(n\) 的序列 \(a\),有 \(q\) 次询问,每次询问给定三个 ...
- 新增秒杀功能、优惠券、支付宝、Docker,newbee-mall升级版开源啦!
最近是非常非常非常忙,一方面是公司的事情比较多,另外⼀点是最近在准备诉讼材料.⾄于诉讼的是谁,⼤家可以去看我之前写的几篇文章,所以本来这周是不打算更新文章的.不过,昨天慕课网的法务联系我的律师了,终于 ...
- 【VBA】读取配置文件存入字典型变量中
配置文件: 源码: Dim Co As Object '设为全局变量 Function 读取cfg() As Boolean Dim strcfg As String strcfg = " ...