作为我任务的一部分,我必须在我的 linux 机器上演示 stackoverflow。
我的盒子配置:操作系统:Ubuntu 13.04
GCC 版本:4.6.3
我尝试使用标志 -fno-stack-protector 编译程序,程序成功编译,但是当我触发堆栈溢出时出现分段错误错误。我怎样才能显示实际的o / p。缓冲溢出 Pgm:
int main(int argc, char**argv)
{
int authentication=0;
char cUsername[10], cPassword[10];
strcpy(cUsername, argv[1]);
strcpy(cPassword, argv[2]);
if(strcmp(cUsername, "admin") == 0 && strcmp(cPassword, "adminpass") == 0)
{
authentication = 1;}
if(authentication)
{
printf("Access granted");}
else
{
printf("Wrong username and password");
}return 0;}
如果我给一个像 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A 这样的 IP 那么它应该显示访问权限被授予但现在它显示分段错误