InsecureProgramming-master——abo2

本文介绍了一个简单的栈溢出实验,通过构造特定字符串实现对程序栈的溢出,并使用gdb进行调试。实验环境为Ubuntu16.04,源码abo2.c利用strcpy函数尝试修改返回地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验说明

1、实验环境:

Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04

Codename: xenial

2、实验工具:

gdb

3、源码

/* abo2.c                                                   * 
 * specially crafted to feed your brain by gera@core-sdi.com */

/* This is a tricky example to make you think               * 
 * and give you some help on the next one                   */
int main(int argv,char **argc) {
	char buf[256];
	strcpy(buf,argc[1]);
	exit(1);
}

4、实验目的

    构造字符串,实现栈溢出。

5、编译

二、调试

   1、首先使用disas main查看汇编代码:


    abo2直接使用exit()函数退出程序,可以溢出,但是没办法修改返回地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值