PHP语言代码审计.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP 代码审计 目录 1. 概述2 2. 输入验证和输出显示 2 1. 命令注入3 2. 跨站脚本 3 3. 文件包含4 4. 代码注入 4 5. SQL注入4 6. XPath 注入4 7. HTTP 响应拆分5 8. 文件管理5 9. 文件上传5 10. 变量覆盖5 11. 动态函数6 3. 会话安全 6 1. HTTPOnly设置6 2. domain 设置6 3. path设置6 4. cookies持续时间6 5. secure 设置6 6. session 固定7 7. CSRF 7 4. 加密7 1. 明文存储密码7 2. 密码弱加密7 3. 密码存储在攻击者能访问到的文件7 5. 认证和授权7 1. 用户认证7 1. 函数或文件的未认证调用7 3. 密码硬编码8 6. 随机函数8 1. rand() 8 2. mt_srand()和mt_rand() 8 7. 特殊字符和多字节编码8 1. 多字节编码8 8. PHP危险函数 8 1. 缓冲区溢出8 2. session_destroy()删除文件漏洞9 3. unset()-zend_hash_del_key_or_index漏洞9 9. 信息泄露10 1. phpinfo 10 10. PHP环境10 1. open_basedir设置10 2. allow_url_fopen 设置10 3. allow_url_include 设置10 4. safe_mode_exec_dir设置 10 5. magic_quote_gpc 设置10 6. register_globals设置11 7. safe_mode设置 11 8. session_use_trans_sid 设置11 9. display_errors设置11 10. expose_php 设置11 1. 概述 代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应 用程序在开发阶段存在的一些漏洞或者程序逻辑错误,避免程序漏洞被非法利用给企业带来不必 要的风险。 代码审核不是简单的检查代码,审核代码的原因是确保代码能安全的做到对信息和资源进 行足够的保护,所以熟悉整个应用程序的业务流程对于控制潜在的风险是非常重要的。审核人员 可以使用类似下面的问题对开发者进行访谈,来收集应用程序信息。  应用程序中包含什么类型的敏感信息,应用程序怎么保护这些信息的?  应用程序是对内提供服务,还是对外?哪些人会使用,他们都是可信用户么?  应用程序部署在哪里?  应用程序对于企业的重要性? 最好的方式是做一个 checklist,让开发人员填写。Checklist 能比较直观的反映应用程序 的信息和开发人员所做的编码安全,它应该涵盖可能存在严重漏洞的模块,例如:数据验证、身 份认证、会话管理、授权、加密、错误处理、日志、安全配置、网络架构。 2. 输入验证和输出显示 大多数漏洞的形成原因主要都是未对输入数据进行安全验证或对输出数据未经过安全处理, 比较严格的数据验证方式为: 1. 对数据进行精确匹配 2. 接受白名单的数据 3. 拒绝黑名单的数据 4. 对匹配黑名单的数据进行编码 在 PHP 中可由用户输入的变量列表如下:  $_SERVER  $_GET  $_POST  $_COOKIE  $_REQUEST  $_FILES  $_ENV  $_HTTP_COOKIE_VARS  $_HTTP_ENV_VARS  $_HTTP

文档评论(0)

ok123soon + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档