“缓冲区溢出漏洞实验”实验报告

缓冲区溢出漏洞实验

更新之后进行随机化初始地址分配实验楼 禁止不能在这个shell中保持root权限,也就是调用shell是能够同时保存root权限 为了重现这一防护措施被实现之前的情形,我们使用另一个shell程序(zsh)代替/bin/bash实验楼 stack.c文件存放的位置存疑实验楼 提示找不到输入的文件或者如下图存放实验楼 进入tmp目录下运行文件实验楼GCC编译器有一种栈保护机制来阻止缓冲区溢出,所以我们在编译代码时需要用 –fno-stack-protector 关闭这种机制。 -z execstack 用于允许执行栈。 chmod u+s stack 需要root模式下进行实验楼 不小心退出实验楼 图片描述 重新进入实验楼实验楼 实验继续 进入查找首地址实验楼 取得shellcode在内存中的地址0xffffd030实验楼 算出地址0xffffd094 键入exploit.c文件中实验楼 gdb不知道如何退出实验楼 实验楼 关掉重来,进入攻击后如图实验楼 没有显示root 就是有#号 exit后实验楼 再做一次还是如此实验楼 吃完饭再来一次实验成功了实验楼 whoami是要自己输入,并非输出 练习题 sudo sysctl -w kernel.randomize_va_space=2 后初始化的首地址发生变化变为这个了0xfff824d0,这攻击进入的地址为0xfff82534,如果不进行地址更改而直接攻击的的话必定是失败的 实验楼 出现了段错误 更改地址时候实验楼 也是错误的,不能获得root

将/bin/sh重新指向/bin/bash(或/bin/dash),观察能否攻击成功,能否获得root权限。

linux系统中,/bin/sh实际是指向/bin/bash或/bin/dash的一个符号链接。为了重现这一防护措施被实现之前的情形,我们使用另一个shell程序(zsh)代替/bin/bash,因此我省略了 sudo su

cd /bin

rm sh

ln -s zsh sh

exit 这一步,也就是没有代替/bin/bash 实验显示是可以root实验楼

最新评论
暂无评论~