杂项相关。
文件的识别
题目中给出的文件不会总是表明类型,需要你去主动判断
使用kali下的file命令即可。
当然,也有另一种方法使用文件 查看器010或者winhex等程序来查看文件头在于相应文件匹配获取文件类型。
所以也是有一种题目叫做隐写,这里只提下图片隐写,使用010查看图标的乱码。
可能在某一段“无法打印的字符”处便是flag
文件头残缺或错误
出题人为了不让你识别出来文件类型,故意对文件头做了一点手脚,此时再用上述办法查看文件类型便会失败。
解题方法便是文件修复
使用010进行修复,把文件头缺少部分补充上去即可。
文件分离操作
题目给出的文件可能不仅仅是个文件,它可能包含着其他的文件
使用kali下的工具可以分开它们
binwalk可以自动解压压缩包,直接看就行。
使用-e后会生成一个解压后的文件
后缀名如上
有些题目使用binwalk是无法成功分离开的
这时候可以用其他的分离程序,比如kali下的foremost
使用方法如下
最后呢,如果上述两种办法都无法成功分离文件,那么便要采取手动分离的方式
kali系统下的dd指令可以帮助我们实现这个
bs代表了选取的单位中的个数,而count则是单位的个数。
但是在分离前先需要使用binwalk来分析文件的可能组成
我们可以发现,0到596f是一个jpg文件
而596f到5a06是一个zip文件(可能)
这时候需要用010看看是否正确,之后再进行实际手动分离。
当然还存在另一种更加厉害的分离办法,使用winhex或者010直接手动选择复制来分离。
当出题人给了你一堆乱码时,先判断它的类型,然后可以改后缀打开,或者使用010编辑。
里面有个import hex
下一个部分来了!!!
文件合并。
有些题目想让你在一张图片里面找到flag但是他给了你4张图片。需要合成与检验。
这里要引入一个概念叫做MD5加密。
在kali或者windows里面都可以进行文件合成
这里只介绍下kali(因为真的很简单)
cat 文件1 文件2 > 合成的文件名。
合成完毕以后为了检验是否正确,需要检验下合成出来的文件的MD5值是否与我们确认的MD5一样。
kali下使用md5sum 文件名即可
文件隐写。
最为简单的文件隐写可以直接利用010或者note++来看
在两个软件里都具有查找功能,有些题目可以直接找flag或者key破解出来。
图片隐写详细内容
信息隐藏,可以右键查看文件的详细信息,
可能会有详细地址
这里呢可以用google earth来定位
exif
一般可能再exif类图片上隐写内容
kali下用
当然也可以右键查看
LSB隐写查看 又名最低有效位
LSB就是十六进制的最低位
可以用以下几种,stegsolve或者zsteg(kali)
LSB隐写就是将最后一位所代表的R G B进行重新组合查看信息所以会有许多情况
使用steg的话会耽误一点时间
而zsteg可以将所有情况弄出来
可以说是高下立判,但是带点脚本小子的味道
还有一个工具叫做wbstego4,同样用来解密LSB但是呢,主要针对的是pdf和bmp
在使用的时候可以先把文件后缀更改为bmp再进行解密
当然还有一类题目使用steg通道分析(先用画图换格式)
或者使用pthon脚本(脚本小子)
Tweakpng
python学习笔记
PWN学习笔记
函数调用栈基本原理
如果要做题的话,此部分需要反复观摩直至彻底理解透彻
pwn2 44.43
工具的学习使用
idea的使用明细
shift F12可以转化到字符串
pwntools的使用
需要安装好pwn py2 和py3 的pwntools
pwntools 使用基本图,本地与远程端的打开办法
接受程序
io.recvline //这个是只收一条
io.recv //收取全部
io.send(b"......")//输入某些数据
PWN dbug 使用