ICS attack lab总结
说明
1.首先本总结含轻微剧透,还在做lab的同学请勿翻阅。当然,翻阅也不要紧,因为里面没有答案,而且每个人的attack是不一样的。
2.做的时候,我很多地方一开始没搞懂都是gdb调试过去或者半猜半做的,从下面思路也可以看出。
3.如果不会做,一定要读writeup,包括很多问题我gdb调试出来的,后来一看,writeup上都写着这些问题,writeup上写着甚至几乎所有思路。
技巧
1.最常见的调试技巧是设置的断点,单步运行,查看寄存器与内存的值。
2.反汇编文件单独成小文件,尤其是farm,善于用Ctrl+F查找你要的二进制码。
3.要注意阅读writeup,不仅能很快弄懂每个phase在干什么,还能学会一些工具使用技巧。
4.一定要注意有一些不可见字符无法直接输入输出,所以要用给的工具来完成输入。
各个phase思路
phase_1(CI):
1.writeup上写的很清楚了,不需要code injection,所以只需要注意函数在栈中分配内存大小,写入合适长度的string恰好修改return address调用touch1即可。
2.本题虽然简单,但是对学会常用工具有很大帮助,如果直接输入转化后的字符串不放在文件里面运行文件,那么因为特殊字符的存在,会出错。所以一定要读writeup,熟悉工具的应用。
phase_2(CI):
1.既然要cod