【网络安全3x04】CTF8月竞赛学习----------厂家培训-8.3

厂家赛前培训。一些题型的坑点讲解。

常见字符编码,文件隐写,开启日志记录。

字符编码

ASCII 编码

1
2
3
4
5
6
7
8
ord('a')
>97

chr(97)
>'a'

int('ff',16)
>255

baseXX 编码

1
2
3
4
5
#kali自带命令行解密
echo '加密字符串' | base64 -d

#python函数
base64.b64decode('加密字符串')

shellcode 编码

示例:

1
2
\x54\x68\x65\x7f\x71\x75\x69\x63\x6b\x7f\x62\x72\x6f\x77\x6e\x7f\x66\x6f\x78\x7f\x6a\x75\x6d\x7
0\x73\x7f\x6f\x76\x65\x72\x7f\x74\x68\x65\x7f\x6c\x61\x7a\x79\x7f\x64\x6f\x67

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
2
3
4
5
源文本: The
&#x [Hex]: The
&# [Decimal]: The
\U [Hex]: \U0054\U0068\U0065
\U+ [Hex]: \U+0054\U+0068\U+0065

Escape/Unescape编码

Escape/Unescape加密解码/编码解码,又叫%u编码,采用UTF-16BE模式, Escape
编码/加密,就是字符对应UTF-16 16进制表示方式前面加%u。Unescape解码/解密,
就是去掉"%u"后,将16进制字符还原后,由utf-16转码到自己目标字符。如:字符
“中”,UTF-16BE是:“6d93”,因此Escape是“%u6d93”

HTML实体编码

摩尔斯电码

隐写

音频隐写

频谱图

波形图转频谱图即可

波形图

  1. 01高低电平对应ascii编码(0~127对应7bit)/曼彻斯特编码
  2. 长短音频段对应摩斯电码

播放音频

听声音中的长短对应摩斯电码

文档隐写

word

  1. 选项 - 隐藏字符
  2. binwalk解包

pdf

  1. ctrl+A查看隐藏内容
  2. pdf编辑器移开图片
  3. binwalk解包

html

  1. 右键源码
  2. ctrl+U
  3. view-source:

数据隐藏

  1. 挂载后查找
1
2
mount [源文件] mountpoint/
umount mountpoint/
  1. 字符串匹配
1
strings [源文件] | grep -i 'flag'

图片隐写

  1. 查看图片信息
1
exiftool [file.jpg]
  1. binwalk解包
1
2
binwalk [源文件]
binwalk -e [源文件]
  1. winhex修改文件头
1
89 50 4E 47   --- PNG

压缩包隐写

  1. 暴力破解

  2. 伪加密

1
2
3
     00 01 02 03 04 05 06 07
00 50 4B 03 04 14 00 00 00
[加密位]
  1. 明文攻击

  2. crc32碰撞

流量分析

wireshark

  • 筛选
  • 追踪流
  • 导出文件

开启日志记录

1
tail -f /var/log/apache2/access.log