php代码审计

本文详细介绍了PHP代码审计的通用思路和方向,包括根据功能点审计、敏感函数回溯审计、通读全文代码等方法。同时,讨论了PHP的弱点,如弱类型问题,以及php.ini配置中的安全设置,如register_globals、allow_url_include等,强调了代码审计对于发现和预防安全漏洞的重要性。
摘要由CSDN通过智能技术生成

通用代码审计思路

•根据敏感关键字回溯参数传递过程(逆向追踪)

•检查敏感函数的参数,进行回溯变量,判断变量是否可控并且没有经过严格的过滤,这是一个逆向追踪的过程。

•寻找可控参数,正向追踪变量传递过程(正向追踪)•跟踪传递的参数,判断是否存入到敏感函数内或者传递的过程中具有代码逻辑漏洞。

•寻找敏感功能点,通读功能点代码(直接挖掘功能点漏洞)•根据自身经验判断在该应用中的哪些功能可能出现漏洞。

•直接通读全文代码

审计方向:

根据功能点审计:根据业务的功能来进行审计。

  • 用浏览器进行浏览,找到程序有哪些功能,阅读指定功能点的源代码。
  • 缺点:不够全面
  • 常见功能点:文件上传,搜索,登录,注册,留言,文件管理,文件资源下载,会员中心,人才招聘,订单管理,广告管理,图片展示,密码修改,网站参数设置,模板管理,登录日志,文章编辑,头像上传,在线升级,数据库备份,用户权限分配,管理数据库,投票系统。

 敏感函数回溯审计:根据敏感的函数,去逆向参数传递的过程的审计方法。

  •  大多数漏洞的产生原因都是因为函数的使用不当导致的,只要我们能找到这些使用不当的函数,就能快速的挖掘漏洞。
  • 当然我们也需要去了解函数的一些特性,函数实现的功能。
  • 缺点:误报率高
  • 代码执行:eval,assert,preg_replace,create_function(),array_map(),call_user_fun(),call_user_array,array_filter,usort,uasort
  • 命令执行:system,shell_exec,passthru,exec,反引号``,popen
  • 文件包含:include,require、require_once,include_once
  • 文件操作:copy、file_get_contents、file_put_contents、file、fopen、move_uploaded_file、readfile、rename、rmdir、unlink敏感函数回溯审计

通读全文代码

PHP开发过程中无非分两种,依赖框架开发,不依赖框架开发。一般不依赖框架开发的目录结构

审计过程中需要关注几个点:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值