c语言缓冲区溢出函数,示例C程序上的缓冲区溢出

本文探讨了C语言中缓冲区溢出的现象,通过一个示例程序展示其工作原理。文章提供了攻击者利用Python代码进行缓冲区溢出攻击的实例,并解释了如何在Windows XP SP1上编译程序以增加堆栈大小。虽然尝试增加ESP长度,但最终未能成功生成绑定外壳程序。
摘要由CSDN通过智能技术生成

我能知道如何在一个允许我在堆栈上执行外壳代码的c程序上增加ESP的长度吗。但是,到目前为止,示例c程序的ESP长度只有61,因此对于shell代码来说还不够。感谢任何帮助!这是给初学者的一个课堂演示,我也是一个学生,所以我对缓冲区溢出非常陌生。

示例C程序

#include

#include

#pragma warning(disable: 4996)

int root(void)

{

printf("\n Root privileges given to the user \n");

return 0;

}

int user(void){

printf("\n Normal user privileges given to the user \n");

return 0;

}

int main(void)

{

char buff[15];

int pass = 0;

int max = 15;

printf("\n Enter the password : \n");

//fgets(buff, max, stdin);

gets(buff);

if (strcmp(buff, "thegeekstuff"))

{

printf("\n Wrong Password \n");

}

else

{

printf("\n Correct Password \n");

pass = 1;<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值