`

最危险的25个编程错误

阅读更多
1. 跨站点脚本攻击(4)

2. SQL注入(3)

3. 经典缓冲区溢出(1)

4. 跨站点请求伪造(7)

5. 不正确的访问控制(授权)

6. 在安全决策中依赖不可信的输入

7. 不正确地将路径名限制为受限路径

8. 上传危险类型的文件不受限

9. 操作系统命令中特殊因素的处理不正确(操作系统命令注入)(5)

10. 敏感信息未加密(6)

11. 使用硬编码凭据(21)

12. 以不正确的长度值访问缓冲区

13. PHP程序中Include/Require语句文件名控制不正确(PHP文件侵入)

14. 数组下标验证不正确

15. 异常条件检查不正确

16. 错误消息泄露信息(9)

17. 整数溢出

18. 缓冲区大小计算错误

19. 关键函数缺乏身份验证

20. 下载未经完整性检查的代码(15)

21. 对关键资源的错误权限分配(22)

22. 资源分配没有限制

23. URL重导向到不受信的资源

24. 使用被破解或有风险的加密算法(20)

25. 存在竞争情况(Race condition)(8)

其中后加括号有数字的,是该项错误去年的排名。显然,连续两年都入选的错误,千万不要再犯了。

另外,我们对比了去年前25名名单,列出今年落榜的错误如下,相信这些错误仍然具有相当的风险性。

2. 不正确的编码或转义输出

10. 限定缓冲区内操作失败

11. 外部控制重要状态数据

12. 外部控制文件名或路径

13. 不可信搜索路径

14. 控制代码生成错误(代码注入)

15. 错误的资源关闭或发布

17. 不正确的初始化

18. 错误计算

19. 可渗透防护

23. 随机值的错误利用

24. 滥用特权操作

25. 客户端执行服务器端安全
分享到:
评论

相关推荐

    2010最危险的编程错误

    2010年,CWE/SANS发布了一份榜单,列出了25个最危险的软件错误。这个榜单是基于广泛的共识和专家的经验,旨在帮助软件开发者、管理者、以及安全研究人员识别和避免那些可以导致严重软件脆弱性的常见编程错误。这些...

    C++语言99个常见编程错误.pdf

    《C++语言99个常见编程错误》是Stephen C. Dewhurst结合自己多年教授C++课程的经验撰写的书籍,该书详细介绍了在C++编程中可能遇到的99个常见错误,并提供了相应的解决方案和避免策略。Stephen C. Dewhurst不仅是C++...

    c语言出错中英文对照表 关于c编程编译错误的

    "invalid use of NULL pointer"错误意味着你试图访问一个值为NULL的指针,这是非常危险的,因为NULL指针不指向任何内存位置。 6. **内存分配错误(Memory Allocation Errors)**: 动态内存管理是C语言的一部分,...

    经常见的c语言错误集锦

    然而,C语言的强大同时也伴随着易犯的错误,这些错误往往源于其对程序员的自由度较高,要求程序员具有较高的编程技巧和严谨性。本文将围绕常见的C语言错误,包括编译错误、链接错误及运行时错误,进行深入解析,并...

    结构化文本(ST)编程参考手册.pdf

    其中,危险等级的错误操作有可能导致人身伤害、设备损坏或更严重的安全事故;而注意等级虽然通常不会导致严重后果,但同样需要认真对待,因为在不同情况下,它们也有可能引起严重的后果。 ### 设计方面的注意事项 ...

    AB小PLC Micro800编程指令

    AB小PLC Micro800编程指令手册是一份关于Allen-Bradley公司生产的Micro800系列可编程逻辑控制器(PLC)的编程指南。该手册包含了详细的指令集、编程元素以及安全注意事项,适用于使用Micro800 PLC进行编程的专业人员...

    CIMCO数控编程工具

    总的来说,CIMCO数控编程工具是数控编程领域的一个重要工具,它简化了NC程序的创建和维护过程,同时通过强大的模拟功能提升了生产安全性。无论是初学者还是经验丰富的工程师,都可以通过使用这款软件提高工作效率,...

    三菱FB编程手册

    功能块是一种将梯形图块转换成通用部件的技术,使开发者能够在顺控程序中重复使用这些功能块,从而提高编程效率,减少编程错误,提升程序质量。 安全注意事项是手册中不可或缺的部分,它强调了在使用设备前阅读手册...

    PILZ可编程控制器手册

    《PILZ可编程控制器手册》是一份详尽的技术文档,专为PILZ的可编程控制系统PSS®设计,其目标是为用户提供全面的操作、编程及维护指导。该手册适用于各种设备的安全控制,旨在帮助工程师和技术人员掌握PILZ控制器的...

    爱普生机械手编程

    爱普生机械手编程涉及到多个方面的知识点,包括机械手的基本知识、编程环境、编程语言以及实际操作等。下面将详细介绍这些内容。 机械手的基本知识: 首先,机械手坐标系的理解至关重要,它涉及到机械手进行准确...

    PLC 可编程控制器 课程设计

    在“PLC 可编程控制器 课程设计”中,你可能会涉及到以下几个关键知识点: 1. **PLC基础知识**:首先,你需要了解PLC的基本构成,包括输入/输出模块、中央处理器(CPU)、存储器和编程设备。理解这些组件如何协同...

    SINUMERIK 840D sl_NC编程手册.pdf

    在编程手册中,读者将找到关于SINUMERIK 840D sl NC编程的详细步骤、指令集、编程示例以及错误处理方法。手册可能不包含所有产品的详细信息,但提供了基本的编程和操作指导,使得用户能够有效地利用此系统进行复杂的...

    编程备查ASPNET编译执行常见错误及解决方法53条汇总[总结].pdf

    以下是一些常见的ASP.NET编程错误及其解决方法: 1. 检测到有潜在危险的Request.Form值 当ASP.NET检测到用户提交的数据可能包含恶意脚本时,会触发此错误。解决方案是禁用请求验证,可以通过在页面头部或web....

    安川离线编程学习

    - 分为“危险”、“注意”、“强制”、“禁止”四个等级。 - “危险”表示错误操作可能导致严重伤害甚至死亡。 - “注意”表示错误操作可能导致轻微至中度伤害或物品损坏。 - “强制”和“禁止”分别表示必须...

    KUKA机器人高级编程手册

    每一个章节都有其特定的重点,覆盖了与机器人操作和编程相关的各种主题,例如系统的安装、维护以及可能出现的故障排除等。 值得注意的是,由于文档是通过OCR扫描生成的,因此在某些情况下,文字的识别可能不完全...

    plc编程软件

    7. **安全考虑**:编程时需考虑设备和人员的安全,确保程序不会导致意外停机或潜在危险。 8. **程序结构**:良好的程序结构能提高代码的可读性和可维护性,如使用子程序、函数块等组织代码。 对于初学者,建议从...

    日立 MICRO-EHV编程手册中文带书签版

    《日立 MICRO-EHV编程手册中文带书签版》是一份针对日立品牌的MICRO-EHV系列可编程控制器(PLC)的操作指导手册。该手册不仅覆盖了编程相关的内容,还包括了安全使用、故障处理和设备维护等方面的知识。由于手册内容...

    C++ 编程思想编程思想

    《C++ 编程思想》是一本深受程序员喜爱的经典教程,它深入浅出地阐述了C++这门强大而复杂的编程语言的核心理念和设计哲学。这本书不仅关注语法和技术细节,更强调编程思想的培养,帮助读者理解如何有效地利用C++解决...

    C语言核心编程-c语言

    6. **内存管理**:C语言允许程序员直接申请和释放内存(malloc, free),这使得C语言既灵活又危险,因为错误的内存管理可能导致内存泄漏或段错误。 7. **位操作**:C语言提供了位运算符,如位与(&)、位或(|)、位...

    MX Component v3 编程手册 中文版

    安全守则主要分为“危险”和“注意”两个等级,用来指导用户在操作过程中的风险防范。手册特别强调,即便是“注意”级别的操作,也可能会因为不同情况而导致严重后果,因此所有注意事项都应当严格遵守。 安全守则...

Global site tag (gtag.js) - Google Analytics