【网络安全3x04】CTF8月竞赛学习----------厂家培训-8.3
厂家赛前培训。一些题型的坑点讲解。
常见字符编码,文件隐写,开启日志记录。
字符编码
ASCII 编码
1 | ord('a') |
baseXX 编码
1 | #kali自带命令行解密 |
shellcode 编码
示例:
1 | \x54\x68\x65\x7f\x71\x75\x69\x63\x6b\x7f\x62\x72\x6f\x77\x6e\x7f\x66\x6f\x78\x7f\x6a\x75\x6d\x7 |
XXencode 编码
相比base64字符表多一个-
少一个/
UUencode 编码
UUencode是一种二进制到文字的编码,最早在unix 邮件系统中使用,全称:
Unix-to-Unix encoding,UUencode将输入文本以每三个字节为单位进行编码,如果
最后剩下的资料少于三个字节,不够的部份用零补齐。三个字节共有24个Bit,以6-
bit为单位分为4个组,每个组以十进制来表示所出现的字节的数值。这个数值只会
落在0到63之间。然后将每个数加上32,所产生的结果刚好落在ASCII字符集中可打
印字符(32-空白…95-底线)的范围之中。
URL 编码
url编码又叫百分号编码,是统一资源定位(URL)编码方式。URL地址(常说网址)
规定了常用地数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用
(/,:@等),剩下的其它所有字符必须通过%xx编码处理。 现在已经成为一种规范
了,基本所有程序语言都有这种编码,如js:有encodeURI、encodeURIComponent,
PHP有 urlencode、urldecode等。编码方法很简单,在该字节ascii码的的16进制字符
前面加%. 如 空格字符,ascii码是32
,对应16进制是'20'
,那么urlencode编码结果
是:%20
。
Unicode 编码
Unicode编码有以下四种编码方式:
1 | 源文本: The |
Escape/Unescape编码
Escape/Unescape加密解码/编码解码,又叫%u编码,采用UTF-16BE模式, Escape
编码/加密,就是字符对应UTF-16 16进制表示方式前面加%u
。Unescape解码/解密,
就是去掉"%u"
后,将16进制字符还原后,由utf-16转码到自己目标字符。如:字符“中”
,UTF-16BE是:“6d93”
,因此Escape是“%u6d93”
。
HTML实体编码
摩尔斯电码
隐写
音频隐写
频谱图
波形图转频谱图即可
波形图
- 01高低电平对应ascii编码(0~127对应7bit)/曼彻斯特编码
- 长短音频段对应摩斯电码
播放音频
听声音中的长短对应摩斯电码
文档隐写
word
- 选项 - 隐藏字符
- binwalk解包
ctrl+A
查看隐藏内容- pdf编辑器移开图片
- binwalk解包
html
- 右键源码
ctrl+U
view-source:
数据隐藏
- 挂载后查找
1 | mount [源文件] mountpoint/ |
- 字符串匹配
1 | strings [源文件] | grep -i 'flag' |
图片隐写
- 查看图片信息
1 | exiftool [file.jpg] |
binwalk
解包
1 | binwalk [源文件] |
winhex
修改文件头
1 | 89 50 4E 47 --- PNG |
压缩包隐写
暴力破解
伪加密
1 | 00 01 02 03 04 05 06 07 |
明文攻击
crc32碰撞
流量分析
wireshark
- 筛选
- 追踪流
- 导出文件
开启日志记录
1 | tail -f /var/log/apache2/access.log |