模块测试缓存区溢出

Webgoat

简单介绍

计算机程序一般都会使用到一些内存,这些内存或是程序内部使用,或是存放用户的输入数据,这样的内存一般称作缓冲区。溢出是指盛放的东西超出容器容量而溢出来了,在计算机程序中,就是数据使用到了被分配内存空间之外的内存空间。而缓冲区溢出,简单的说就是计算机对接收的输入数据没有进行有效的检测(理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符),向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。在有用户输入的地方都存在缓冲区溢出的可能性。

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。 利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是, 可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。

操作方法:

1.填写姓名和房间号码

2.选择【24 小时】的选项,点击【Accept Terms】提交时拦截数据

3.打开burpsuite截取数据包,选择最后一个post打开

4.右键打开菜单,将数据包发送到intruder模块

5.在intruder模块中点击clear$,将其他的变量取消

6.选择room_no的值123,点击add$,将room_no作为唯一的攻击点,攻击类型选择的是sniper

7.payloads方案选择【character blocks】,意思就是用大量的字符填充,图中payloads方案下面4个填充处含义为:Base string值设为3,从小值3*1024=3072开始到3*1024000,步长1024,这些设置都随意,只要满足足够长,够溢出即可。然后点击图中左上方【intruder】下拉菜单中的【attrack】进行攻击

8.步长1024,一共是执行了1000次request。等待完成后,如下图,在结果中将【length】 列按照升序排序,双击最大的数值那行

9.查看reponse响应数据包的html内容,出现如下信息,代表缓冲区溢出成功了。通过缓冲区溢出漏洞获得了vip客户信息

10.返回到缓冲区溢出页面,以“John”、“Smith”、“56”,作为vip客户登录信息验证

11.出现如下界面,代表正确获取了vip用户信息

posted @ 2025-07-16 12:01  长温不喜风云  阅读(28)  评论(0)    收藏  举报