说明:在本章节中我们将会学习各类编码,网络流量分析,隐写术......
本章节常用工具:Koczkatamas、C
各类编码
ASCII编码:
介绍:
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符
练习:
点我获取习题资源 :)https://download.csdn.net/download/m0_72993350/88978666?spm=1001.2014.3001.5501
解题步骤:
我们打开ascii.txt发现一串数字加字母的组合:666c61677b68656c6c6f5f41534349495f3636367d,我们发现这串字符串中的字母不超过“ f ”,初步推测这串字符是十六进制数,所以我们打开Kocakatamas工具,将字符串放到HEX行(HEX表示十六进制)在ASCII行中发现flag{hello_ASCII_666}
Base64编码:
介绍:
Base64编码是一种常见的数据编码格式,主要用于将任意二进制数据转换成ASCII字符集中的可打印字符序列。这种编码方法通过使用一个包含64个字符的特定集合来表示任何原始二进制数据。(具体的介绍和原理请自行百度搜索:) )
练习:
b64steg.txt(最前面的资源里面)
解题步骤:
首先我们打开b64steg.txt,我们发现很多字符串,但是基本上每个字符串后面都有“ = ”号,我们可以把=号看作Base64和32编码的一个强特征,我们随便拿一行第四行:IHdyaXRpbmcgaGlkZGVuIG1lc3NhZ2VzIGluIHN1Y2ggYSB3YXkgdGhhdCBubyBvbmV= 将它放到Kocakatamas工具中的base64行中,得到 writing hidden messages in such a way that no one,我们再将它进行Base64编码得到IHdyaXRpbmcgaGlkZGVuIG1lc3NhZ2VzIGluIHN1Y2ggYSB3YXkgdGhhdCBubyBvbmU=,我们发现=号前一个字符发生了变化,说明源字符串存在Base64信息隐藏,所以我们利用一个Base64的通用提取脚本b64steg.py,得到flag{Base_sixty_four_point_five}
URL编码:
介绍:
URL编码将非字母数字字符(包括但不限于空格、标点符号和其他特殊字符)转换成可以在URL中合法存在的格式。转换方法是将这些字符转换为其对应的ASCII(或者其他指定编码如UTF-8)二进制形式,然后将每个字节表示为一个百分号(%)后跟两个十六进制数字的形式。例如,空格字符被编码为 %20
,因为其ASCII值为32,对应的十六进制为20;中文字符“你”在UTF-8编码下会被编码为 %E4%BD%A0
。
练习:
url.txt
解题:
打开url.txt我们发现
%61%6c%66%7b%67%79%72%63%74%70%72%67%6f%70%61%69%5f%79%5f%73%73%61%65%7d%79,一个典型的URL编码的,我们进行URL解码得到alf{gyrctprgopai_y_ssae}y,观察字符串最前面和最后面,我们需要将字符串进行5个字符分组,前三个倒序,后两个也要倒序。(别问为啥这样
结语:
这一节就到这,下一节讲摩斯码,JSFuck编码,Brainfuck编码,以及一个非常好用的工具
大家如果要进行CTF学习并且觉得我这篇文章根本满足不了(虽然我确实少),可以去pxx去购买一本《CTF那些事儿》,现在便宜多了,当初博主买了100多,呜呜呜。博主就是抱着这本书啃的,题目可以上攻防世界或者i春秋