美文网首页
代码审计环境配置与核心指令

代码审计环境配置与核心指令

作者: FKTX | 来源:发表于2018-01-16 13:17 被阅读0次

一、环境搭建

windows环境下载安装全功能phpstudy

假如有启动失败的情况,按下面方法能针对性解决问题:

linux环境下安装phpstudy

二、核心配置

下面这幅图代代表的那些指令可以配置的范围,也就是在哪可以配置

register_globals(全局变量注册开关)

因此,当PHP版本低于5.4.0的时候,又开启了register_globals=on,那么就可以通过get或者post请求来控制那些未进行安全过滤的变量。从而实现身份验证漏洞,XSS漏洞等还有一些我未知的漏洞。

下面举三个例子:

实例一

register_globals=on,会导致上面的身份认证被绕过。代码逻辑是先判断用户身份是否合法,合法就没问题,但是,假如不合法,那么$authorized应该是null,而此时要是开启了register_globals=on,那么攻击者利用get或者post请求,就可以给$authorized赋值。假如赋值为1,那么就为true,就会加载攻击者没有身份加载的data.php

实例二:

同理,username在register_globals=on的情况下,也可以被攻击者赋值利用。比如此时username假如是一个xss语句,那么就会存在xss攻击。$_SESSION的功能是用来存储和取回相应的键值。

案例三:

这个案例用来探测有害变量,是给开发者使用的,开发者通过开启register_globals=on,就可以接收到前台发送过来的get,post请求,然后发邮件给管理员,有人在前台输入有害变量。补充:$_COOKIE是获取客户端相应的cookie键值,而$_SERVER['REMOTE_ADDR']是服务器IP,mail()是发送邮件函数。

allow_url_include(是否允许包含远程文件)

包含远程执行文件是直接就可以运行相关的程序。也就是说在PHP5.2.0版本之前,这个都是开启的。如果开发者没做好设置,将其关闭,那么网站就非常危险了。至于allow_url_fopen只是是否打开文件。或许这个选项会和钓鱼页面扯上关系。

magic_quotes_gpc(魔术引号自动过滤)

只要开启了magic_quotes_gpc,那么就会自动在get,post,cookie请求中,将单引号,双引号,反斜杠\,空字符null前面加上反斜杠\

magic_quotes_runtime(魔术引号自动过滤)

将攻击代码先写入数据库,读取时候触发攻击,这种攻击方式听说过,但是却从来没有实践过。

只有部分函数受到这个配置的影响,那也就是说,只要绕过这些部分函数,那么用那些绕过的函数去取数据库中或者文件中的信息,这个过滤配置就失效了!就可能产生相应的漏洞,甚至可以利用。

magic_quotes_sybase(魔术引号自动过滤)

这个设置一旦打开,就会覆盖掉magic_quotes_gpc=on这条指令。这条设置的处理对象和magic_quotes_gpc一样,都是get,post,cookie请求的处理。但是,处理方式确是仅仅转义了null字符,和将单引号变成两个单引号。这条指令的配置范围是PHP_INI_ALL,在PHP5.4.0中移除了这个配置。

safe_mode(安全模式)

这种模式只存在于PHP5.4之前,配置范围PHP_INI_SYSTEM,当开启safe_mode=on,那么联动可以配置的指令就有:
safe_mode_include_dir
safe_mode_exec_dir
safe_mode_allowed_env_vars
safe_mode_protected_env_vars

说的通俗一点,就是同一用户只能执行自己文件夹下的文件操作,若要执行其他用户的文件操作,必须使用safe_mode联动的其他函数。

open_basedir PHP 可访问目录

open_basedir=/www/ 用来限制PHP可以访问的目录,通常只设置web文件目录。但是有时候需要引用web目录之外的脚本,那么也要将脚本目录加进来。另外,openbasedir=/www/a,这样设置后,PHP也可以访问/www/b路径,若想要定死路径,那么就是openbasedir=/www/a/

disable_functions(禁用函数)

至于自定义的PHP扩展能实现什么功能,我就不知道了。

display_errors和error_reporting错误回显

就是开发过程中,为了更好的调试程序,会显示报错信息。当网站上线后,建议就关闭这个报错设置。否则会给攻击者了解网站代码的机会。

常用指令以及说明

相关文章

  • 代码审计环境配置与核心指令

    一、环境搭建 windows环境下载安装全功能phpstudy 假如有启动失败的情况,按下面方法能针对性解决问题:...

  • PHP核心配置

    代码在不同环境下执行结果会有不同,不同的版本会指令的变更,所以代码审计前要很熟悉各个版本配置文件的核心指令,官方配...

  • 代码审计

    代码审计工具 1、三款自动化代码审计工具教程2、seay源代码审计系统 PHP核心配置详解 注意PHP各个版本中配...

  • 面向对象基础概念

    程序 程序 = 指令 + 数据代码可以选择以指令为核心或以数据为核心进行编写 两种范式 以指令为核心:围绕‘正在发...

  • vue-cli脚手架build目录中的webpack.base.

    标签(空格分隔): webpack 1.这个配置文件是webpack生产环境的核心配置文件 2.上代码

  • 搭建vim源码审计环境

    搭建vim源码审计环境 经过我三天的尝试,vim源码审计环境初步搭建完成(摸鱼三天) 插件 代码补全 其实很少需要...

  • Spring 事务

    一些 Spring 事务的核心配置与代码片段 核心配置 目标对象 测试 小结:spring 的事务管理是通过动态代...

  • Xcode多环境配置

    Xcode多环境配置:多Target,多Scheme,多xcconfig 核心: 通过某种方式,让指定的代码和资源...

  • 代码审计方法与准备

    代码审计环境准备 本地测试环境:php + mysql 环境。如:phpstudy,wamp等文档编辑器:subl...

  • 配置信息与环境变量

    配置信息与环境变量 配置方法 配置信息的环境变量,在 Laravel 中有以下几种方法: 硬代码,直接写死。- ❌...

网友评论

      本文标题:代码审计环境配置与核心指令

      本文链接:https://www.haomeiwen.com/subject/zjxjoxtx.html