网站编程漏洞清单

Checklist for Web Site Programming Vulnerabilities

提问人:Mark Harrison 提问时间:8/27/2008 最后编辑:Yeldar KurmangaliyevMark Harrison 更新时间:7/14/2015 访问量:1954

问:

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

  • 哪些类别的 vunerabilities?
    • 崩溃的站点
    • 闯入服务器
    • 闯入他人的登录信息
    • 垃圾邮件
    • 儡、肉傀儡
    • 等。。。
  • 什么样的防御性编程技术?
  • 等。。。
安全 防御性编程

评论

0赞 mattruma 9/18/2008
有人可以修复标题中的拼写错误吗?

答:

1赞 coder1 8/27/2008 #1

SQL注入

1赞 Bernie Perez 8/27/2008 #2

XSS(跨站点脚本)攻击

2赞 Ross 8/27/2008 #3

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

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

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

12赞 Charles Miller 8/27/2008 #4

Open Web Application Security 项目中

  1. OWASP十大漏洞 (pdf)
  2. 有关更详尽的列表: Category:Vulnerability

前十名是:

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

易于监督和修复:对从客户端接收的数据进行清理。检查诸如“;”之类的内容有助于防止恶意代码注入到应用程序中。

6赞 David Schlosnagle 8/27/2008 #6

我附议OWASP信息是宝贵的资源。以下几点可能也值得关注,尤其是攻击模式:

1赞 Rob Wells 8/27/2008 #7

G'day,

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

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

HTH。

干杯 抢

2赞 Zach 9/16/2008 #8

一些预防技巧:

XSS的

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

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

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

XSRF的

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

SQL注入

  • 你的 ORM 或 db 抽象类应该有清理方法 - 始终使用它们。如果您没有使用 ORM 或 db 抽象类...你应该是。
1赞 Vertigo 9/16/2008 #9

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