代码审计之php.ini配置详解

来源:岁月联盟 编辑:猪蛋儿 时间:2020-01-29
版本特性: 本特性在php中默认打开,但是真实的站点发布后一般都是关闭的
不安全范例:  站点发布后未关闭display_error,那么就会暴露服务器的目录信息。还增加了sql注入的风险

其他报错提示设置项:
error_reporting = E_ALL  ;将错误级别显示为最高
error_log=  ;自定义错误日志的位置,必须对web用户可写入
log_errors=on ;将错误日志输出到文件,而不是直接输出到前端
magic_quotes_gpc=On
magic_quotes_runtime=Off
作用: 前者 为 GPC (Get/Post/Cookie) 操作设置 magic_quotes 状态。 当 magic_quotes_gpc 为 on,所有的 ‘ (单引号)、” (双引号)、/(反斜杠)和 NULL 被一个反斜杠自动转义。
后者打开后,对于数据库和文本文件内容将会用反斜线转义引号。如果启用了 magic_quotes_sybase,单引号会被单引号转义而不是反斜线。
版本特性: 本特性已自 PHP 5.3.0 起废弃(Off)并将自 PHP 5.4.0 起移除。
不安全范例: 未过滤或未开启gpc的php脚本
    $conn = mysqli_connect("127.0.0.1","root","bwapp","security");                                                                
    $user="admin";
    if(isset($_GET['username'])){
        $user=($_GET['username']);
    }
    $sql="select * from users where username='{$user}'";
    if($result=mysqli_query($conn,$sql)){
        var_dump(mysqli_fetch_all($result));
    }else{
        echo mysqli_error($conn);
    }
三、思考总结
代码审计中同一漏洞在不同的环境下会展现不同的结果,做审计时需要关注漏洞的执行和利用条件,php.ini就是一个值得去关注和利用的重点。程序甚至会由于某些配置会在没有漏洞的情况下产生意想不到的结果
 

上一页  [1] [2]