【问题标题】:Checklist for Web Site Programming Vulnerabilities网站编程漏洞清单
【发布时间】:2008-08-26 19:51:32
【问题描述】:

观看 SO 上线对我来说是一种教育。我想列出针对网站的各种漏洞和漏洞利用清单,以及可以使用哪些编程技术来防御它们。

  • 哪些类别的漏洞?
  • 什么样的防御性编程技术?
  • 等等……

【问题讨论】:

  • 谁能修正标题中的拼写错误?

标签: security defensive-programming


【解决方案1】:

来自Open Web Application Security Project

  1. OWASP Top Ten 漏洞 (pdf)
  2. 如需更详尽的列表:Category:Vulnerability

前十名是:

  1. 跨站脚本 (XSS)
  2. 注入缺陷(SQL 注入、脚本注入)
  3. 恶意文件执行
  4. 不安全的直接对象引用
  5. 跨站请求伪造 (XSRF)
  6. 信息泄露和错误处理不当
  7. 身份验证和会话管理损坏
  8. 不安全的加密存储
  9. 不安全的通信
  10. 未能限制 URL 访问

【讨论】:

    【解决方案2】:
    【解决方案3】:

    显然测试每个字段的漏洞:

    • SQL - 转义字符串(例如mysql_real_escape_string
    • XSS
    • 从输入字段打印 HTML(通常是 XSS 的好兆头)
    • 除该字段创建的特定目的之外的任何其他内容

    搜索无限循环(唯一可以真正杀死服务器的间接事物(如果很多人不小心发现的话)。

    【讨论】:

      【解决方案4】:

      一些预防技巧:

      XSS

      • 如果您从用户那里获取任何参数/输入并计划在日志或网页中输出它,请对其进行清理(剥离/转义任何类似于 HTML、引号、javascript...)如果您在其内部打印页面的当前 URI,清理!例如,即使打印 PHP_SELF 也是不安全的。消毒!反射型 XSS 主要来自未经处理的页面参数。

      • 如果您从用户那里获取任何输入并保存或打印,如果检测到任何危险/无效内容,请警告他们并让他们重新输入。 IDS 有利于检测(例如 PHPIDS)。然后在存储/打印之前进行消毒。然后,当您从存储/数据库中打印某些内容时,请再次进行清理! 输入 -> IDS/清理 -> 存储 -> 清理 -> 输出

      • 在开发过程中使用代码扫描器来帮助发现潜在易受攻击的代码。

      XSRF

      • 永远不要使用 GET 请求 破坏性功能,即 删除帖子。相反,只有 接受 POST 请求。 GET 让黑客攻击变得更加容易。
      • 检查 推荐人以确保请求 来自您的网站不是 工作。欺骗并不难 推荐人。
      • 使用随机散列作为令牌,该令牌在每个请求中都必须存在且有效,并且会在一段时间后过期。在隐藏的表单字段中打印令牌,并在表单发布时在服务器端进行检查。坏人必须提供正确的令牌才能伪造请求,如果他们设法获得真正的令牌,则需要在过期之前。

      SQL 注入

      • 您的 ORM 或 db 抽象类应该具有清理方法 - 始终使用它们。如果您没有使用 ORM 或 db 抽象类...您应该使用。

      【讨论】:

        【解决方案5】:

        SQL 注入

        【讨论】:

          【解决方案6】:

          XSS(跨站脚本)攻击

          【讨论】:

            【解决方案7】:

            易于监督且易于修复:对从客户端收到的数据进行清理。检查诸如“;”之类的东西可以帮助防止恶意代码被注入到您的应用程序中。

            【讨论】:

              【解决方案8】:

              生日,

              David Wheeler 编写的FlawFinder 是一个很好的安全静态分析工具。它在寻找各种安全漏洞方面做得很好,

              但是,它并不能取代让知识渊博的人阅读您的代码。正如大卫在他的网页上所说,“有工具的傻瓜仍然是傻瓜!”

              HTH。

              干杯, 抢

              【讨论】:

                【解决方案9】:

                您可以从Security Compass 获得好的 Firefox 插件来测试多个缺陷和漏洞,例如 xss 和 sql 注入。太糟糕了,它们不适用于 Firefox 3.0。我希望这些将很快更新。

                【讨论】:

                  猜你喜欢
                  • 2022-01-12
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-12-25
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2010-11-15
                  • 2022-01-05
                  相关资源
                  最近更新 更多