背景知识
CTF赛制
难度:Misc杂项<Crypto密码<Web安全<Reverse逆向<PWN二进制
1.web安全:通过浏览器访问题目服务器上的网站,寻找网站漏洞(sql注入,xss(钓鱼链接),文件上传,包含漏洞,xxe,ssrf,命令执行,代码审计等),利用网站漏洞获得服务器的部分或全部权限,拿到flag,通常包含分值最大的web渗透题;
2.逆向工程(Reverse):题目就是一个软件,但通常没有软件的源代码;需要利用工具对软件进行反编译甚至反汇编,从而理解软件内部逻辑和原理,找出与flag计算相关的算法并破解这个算法,获取flag;
3.漏洞挖掘与漏洞利用(PWN,EXPLOIT):访问一个本地或远程的二进制服务程序,通过逆向工程找出程序中存在的漏洞,并利用程序中的漏洞获取远程服务器的部分或全部权限,拿到flag;
4.密码学(Crypto):分析题目中的密码算法与协议,利用算法或协议的弱点来计算密钥或对密文进行解密,从而获取flag。
5.调查取证(Misc):利用隐写术等保护技术将信息隐藏在图像、音频、视频,压缩包中,或者信息就在一段内存镜像或网络流量中,尝试将隐藏的信息恢复出来即可获得fag。
6.移动安全(Mobile):对安卓和IOS系统的理解,逆向工程等知识。
杂项(思维题)
文件操作与隐写
文件类型识别
1. File命令
当文件没有后缀名或者有后缀名而无法正常打开时,根据识别出的文件类型来修改后缀名即可正常打开文件。
使用场景:不知道后缀名,无法打开文件。格式:file fileName
注意:
当文件打不开时,file命令识别出来的文件类型为data,通常表示该文件是一个二进制文件,可能包含多种不同的数据格式。
需要自己根据文件头识别转化为可打开文件然后去其中捞取flag。
root@kali2:~/ctf# file fileName
fileName: pcap-ng capture file - version 1.0
2. winhex
通过winhex程序中可以查看文件头类型,根据文件头类型判断出文件类型
使用场景:windows下通过文件头信息判断文件类型
也可以用Notpad++打开然后改为十六进制查看文件头编码。
最左列是地址,中间是十六进制,最右边是ASCALL码。
文件头部缺失或文件头部字段错误无法打开正常文件