安全

作者: 夜雨聲煩_ | 来源:发表于2020-08-06 14:45 被阅读0次

代码混淆

缓冲区溢出

缓冲区溢出是现在安全中存在最多的问题,最危险的是堆栈溢出。
原理:简单说程序通常会设计固定大小的内存来存放用户数据等变量,比如4个格子,但是如果对输入数据不做处理判断的话,过长的数据(例如10个格子),就会出现缓冲区溢出。导致的结果就是,多出来的6个格子会覆盖原本存放其他代码的格子。
危害:缓冲区溢出会导致其他内存的代码被覆盖,造成程序崩溃数据丢失等。同时如果被恶意利用,其他内存的代码被篡改,会导致安全攻击。
注意:C语言作为早期的语言,函数风格自由容易出错,追求性能而容易忽略严谨性。比如对strcpysprintf的调用,这两个函数没有边界检查(都没有检查输入参数的长度),要注意。
边界检查:边界检查在程序设计中是指在使用某一个变量前,检查该变量是否处在一个特定范围之内。最常见的是数组的下标检查,防止下标超出数组范围而覆盖其他数据。若是边界检查未能有效发现错误,最常见的结果是程序出现异常并终止运行。

例:strcpy()

strcpy() : strcpy() 函数将源字符串复制到缓冲区。没有指定要复制字符的具体数目!如果源字符串碰巧来自用户输入,且没有专门限制其大小,则有可能会造成缓冲区溢出!
strncpy (dst, src, dst_size-1) :如果 src 比 dst 大,则该函数不会抛出一个错误;当达到最大尺寸时,它只是停止复制字符。注意上面调用 strncpy() 中的 -1。如果 src 比 dst 长,则那给我们留有空间,将一个空字符放在 dst 数组的末尾。
使用较安全的函数,一定程度上解决了缓冲区溢出问题。

知乎关于C不安全语言函数的详细介绍

相关文章

  • 安全?安全!安全。

    清早上班,小尚摇晃着手里的一张纸,感慨万千:四个人啊,一下子四个人,这个事故可不算小,五轮车从后边戳上他们,这伤啊...

  • 安全,安全,安全!

    早上大雾,能见度30米左右。远点一看以为后红绿灯坏了,啥都看不见,一片雾茫茫。走近一看才发现,原来是自己眼神不好,...

  • 安全,安全,行车安全

    这段时间上海这边对从事网约配送的电动车必须挂电子牌照议论纷纷。 电子牌照是电子监管,对于各类违反交规的行为拍照,然...

  • 安全,安全

    今天老公回来了,他说最近因为疫情,很多同事都休息了,只有他和一个同事坚守,好累,现在回家休息的同事大都返岗了,他终...

  • 97

    没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有...

  • 洗心良言,

    任何时候都要注意环境安全,卫生安全,经济安全,政治安全,心理安全,行为安全,语言安全。 要学会审时度...

  • API 安全

    什么是 API 安全 API 安全主要包括信息安全、网络安全、应用安全三个方面 信息安全 信息安全是你要保证系统所...

  • 青春期班会

    安全班会结束了,孩子们很棒,关于安全他们有太多话要说,校园安全、防溺水安全、交通安全、饮食安全、用电用火安全、防诈...

  • 最好的报答

    “安全是什么?安全是天,安全是地,安全是温暖的家,安全是感恩,安全是对亲人最好的报答。” 今年,全国安全生产月宣传...

  • 安全还是安全

    近来,安全事故频发,上头监管多严啊,咱们还是小心点为要! 这不,会议开了好长时间,尽管都是一个调调,也都是差不多的...

网友评论

      本文标题:安全

      本文链接:https://www.haomeiwen.com/subject/kcorrktx.html