预备知识
一、相关实验
本实验要求您已经认真学习和完成了《CTF PWN练习之绕过返回地址限制》。
二、strdup函数
strdup可以用于复制一个字符串,我们通常使用字符串时会使用strcpy,这要求已经定义好了一个接收缓冲区。而strdup只接受一个参数,也就是要复制的字符串的地址,strdup()会先用malloc()配置与参数字符串相同大小的的空间,然后将参数字符串的内容复制到该内存地址,然后把该地址返回。strdup返回的地址最后可以利用free()来释放。
三、grep命令
当输出信息非常多的时候,我们很难快速找到我们感兴趣的信息。使用grep命令可以对匹配特定正则表达式的文本进行搜索,并只输出匹配的行或文本。
我们可以使用管道将一个程序的输出当做grep的输入数据,grep会根据给定的正则表达式参数对输入数据进行过滤。
对于grep的参数需要注意这样一个问题:当参数中存在空格时需要用双引号将参数包裹起来,此外,*是正则表达式里面的通配符,如果要查找*,需要使用反斜杠进行转义,即\*。
实验目的
1)学会使用grep命令通过正则表达式过滤输出信息。
2)学会综合使用grep与objdump搜索特定的指令。
3)学会通用的跳转技术来执行Shellcode。
实验环境
服务器:CentOS6.5,IP地址:随机分配
辅助工具:Pyth