由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C程序的异常输出
相关主题
求教web programming问个简单的memory allocation 的问题。
请教一个文件IO的问题Array in C
dereference a NULL pointer in C谁帮我解释一下这个代码
Java 问题,请教如何找出一个array里的duplicate segments?New C++ programmer, need to ask a I/O file read question
比较简单的Java数据输入验证问题能帮忙看看这个字符串的操作问题吗?
Another question关于 exception 的一个问题
一个极简单的程序求教strcat()
weird output请帮忙看看这个字符函数的错误在哪里
相关话题的讨论汇总
话题: userdata话题: 输入话题: 程序话题: 异常话题: 溢出
进入Programming版参与讨论
1 (共1页)
p**p
发帖数: 3386
1
遇到一个麻烦的问题,还望这里的XD多多指教。写了一个linux下c程序循环读取用
户输入,然后将输入发送到一个客户端。现在的问题是,在执行一次循环以后,提
示用户输入的窗口会自动填充一些奇怪的字符,有时是之前在linux下敲过的命令,
有时是使用的ssh client软件名(如putty)。哪位知道这是怎么回事啊?
l**t
发帖数: 64
2
查一下字符数组是否溢出了

【在 p**p 的大作中提到】
: 遇到一个麻烦的问题,还望这里的XD多多指教。写了一个linux下c程序循环读取用
: 户输入,然后将输入发送到一个客户端。现在的问题是,在执行一次循环以后,提
: 示用户输入的窗口会自动填充一些奇怪的字符,有时是之前在linux下敲过的命令,
: 有时是使用的ssh client软件名(如putty)。哪位知道这是怎么回事啊?

p**p
发帖数: 3386
3
如果是溢出的话,不应该出现segmentation fault么?

【在 l**t 的大作中提到】
: 查一下字符数组是否溢出了
l**t
发帖数: 64
4
谁说一定出现段错误,搞缓冲区溢出攻击的人岂不死绝了
举个最简单的例子:
void BufferTest()
{
char prompt[] = "input:";
char userdata[1];
strcpy(userdata, "bhello!");
printf("%s", prompt); //变成"hello!"
}
如果把填入userdata的数据再搞大点,里面加点自己的代码,可以把栈里函数返回地址
冲掉成自己的代码的入口地址,然后执行代码
系统里每个内存页面都有属性,比如只读,可写,可执行,如果用户对只读的页面做写
操作,或者超过权限访问内核页面,等等,就会引发系统异常

【在 p**p 的大作中提到】
: 如果是溢出的话,不应该出现segmentation fault么?
c***k
发帖数: 1589
5
是不是用scanf了?
1 (共1页)
进入Programming版参与讨论
相关主题
请帮忙看看这个字符函数的错误在哪里比较简单的Java数据输入验证问题
问个char*的问题Another question
请教一个C里面string copy的问题一个极简单的程序求教
What is wrong with the constructor calling?weird output
求教web programming问个简单的memory allocation 的问题。
请教一个文件IO的问题Array in C
dereference a NULL pointer in C谁帮我解释一下这个代码
Java 问题,请教如何找出一个array里的duplicate segments?New C++ programmer, need to ask a I/O file read question
相关话题的讨论汇总
话题: userdata话题: 输入话题: 程序话题: 异常话题: 溢出