夺旗赛
- 夺旗赛(Capture the Flag,CTF)
- 计算机安全和黑客领域的比赛
- 分析一个二进制,找到隐藏在其中的旗帜(通常是一个十六进制串)
- 开始分析二进制
- 判断文件类型(file命令)
- 读取文本文件头部(head命令)
- 解码文件(base64命令)
- 解压文件(tar命令)
$ file payload
payload: ASCII text
$ head payload
H4sIAK...
$ base64 -d payload > decoded_payload
$ file decoded_payload
decoded_payload: gzip compressed data, last modifed: ...
$ file -z decoded_payload
decoded_payload: POSIX tar archive (GNU) (gzip compressed data, last modifed: ...)
$ tar xvzf decoded_payload
ctf
67b8601
$ file ctf
ctf: ELF 64-bit LSB executable, x86-64, ...
$ file 67b8601
67b8601: PC bitmap, Windows 3.x format, ...
识别伪装的文件
- ctf是一个ELF文件,67b8601是一个伪装的BMP图像文件
- 查看ELF文件的动态链接库(ldd命令)
- 查看二进制(xxd命令)
- 读入、写出二进制(dd命令)
- 解析ELF文件(readelf命令)