zoukankan      html  css  js  c++  java
  • PHP安装文件的审计

     初始化安装

    一般php程序都有一个初始安装的问题,如果使用了一些cms安装后且没有删除安装文件的话,就会导致二次安装等问题. 具体但不限于以下几种情况:

    1. 无验证功能,任意重装覆盖
    2. $_GET['step']跳过限制步骤
    3. 变量覆盖导致从新安装
    4. 判断lock后跳转无exit
    5. 解析install.php.bak漏洞
    6. 其他特定功能绕过漏洞

    源码解析

    首先判断一下.lock文件是否存在,如果存在,则跳转到主页, 注意他这的跳转并没有使用代码的手段终止代码运行(exit,die)

    接下来是环境的一些展示

    接下来是数据库的配置和连接

    漏洞实现

    通过访问install.php文件. 发现跳转到了index.php文件(我已安装过).

    利用burp抓包来看,响应到了index.php

    通过burp的历史 找到请求的install.php  查看响应,发现由于代码没有终止操作,所以后续的所有代码都是响应了.

    我把他的跳转代码给注释,然后重新抓包, 得到post数据包,发送到burp重放栏

    修改参数dbname == expa; -- - "; phpinfo();

    然后打开注释的代码. 发送出去我们修改后的包.

    然后我们访问config.php 发现已经显示了phpinfo()页面信息;

    修复

    问题的根源就在于已经安装过的时候 ,并没有结束代码的执行. 所以我们在判断安装跳转之后需要加上代码终止运行.

    另外最好就是安装完删除与之对应文件.

  • 相关阅读:
    5.不用拷贝的对象可以用ref
    4.bind绑定
    3.bind与仿函数以及普通函数
    35.自己实现vector模板库myvector
    2.boost遍历数组容器
    1.boost库的安装
    34.share_ptr智能指针共享内存,引用计数
    33.unique_ptr独享内存智能指针
    32.智能指针auto_ptr
    131.typename在嵌套类中的作用
  • 原文地址:https://www.cnblogs.com/php09/p/10517118.html
Copyright © 2011-2022 走看看