Linux下pwn从入门到放弃,pwn从入门到放弃第三章——gdb的基本使用教程

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

考完试了,来填坑

gdb在做题中经常用到,熟练掌握gdb会事半功倍

我们继续用第二章中的程序来讲解gdb的使用

将程序直接拖进vmware中,因为我们下的vmware专用版本的kali,所以已经安装好vmware tool之类的,直接拖进去或者复制粘贴进去就可以了

打开terminal,cd到Desktop

先给程序加可执行权限,在terminal输入1chmod 777 babystack

然后输入1gdb ./babystack

然后就会出现如下图一样的界面

Linux下pwn从入门到放弃,pwn从入门到放弃第三章——gdb的基本使用教程_第1张图片

接下面介绍gdb比较实用的两个功能

checksec

在gdb的termial中输入1checksec

Linux下pwn从入门到放弃,pwn从入门到放弃第三章——gdb的基本使用教程_第2张图片

checksec是用来显示程序保护机制的开启情况

我们来解释下显示的东西Arch,很明显就是程序是多少位的,这里是64位的

RELRO,这里是Full RELRO,RELRO的全程是RELocation Read-Only,重定位只读(渣翻译不要吐槽,开启了这个之后got表是只读的,不能往里面写东西,got表这个概念会在后面介绍,这里先知道这个名词就可以了,除此之外还有其他东西改变了,深入下去可以完全当一章来写

Stack: 这里是栈溢出保护,保护的机制也暂时先不谈

NX: 这里是堆栈不可执行,也就是堆和栈没有执行权限,这个也会在后面ret2shellcode那章解释

你可能感兴趣的:(Linux下pwn从入门到放弃)