zoukankan      html  css  js  c++  java
  • session.upload_progress.enabled开启的问题

    exp.php的内容,存在文件包含

    <?php
    include($_GET['lfi']);
    
    
    $key = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];
    var_dump($_SESSION);
    var_dump($key); //upload_progress_
    var_dump(ini_get("session.upload_progress.name")); //$_POST['PHP_SESSION_UPLOAD_PROGRESS'] 
     ?>
    <form action="exp.php" method="POST" enctype="multipart/form-data">
     <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" />
     <input type="file" name="file1" />
     <input type="submit" />
    </form>

    查看phpinfo信息

    当cleanup是off的情况下,构造如下数据包上传文件。

    当 session.upload_progress.enabled INI 选项开启时,一个上传在处理中,同时POST一个与INI中设置的session.upload_progress.name同名变量时,上传进度可以在$_SESSION中获得。 当PHP检测到这种POST请求时,它会在$_SESSION中添加一组数据, 索引是 session.upload_progress.prefix 与 session.upload_progress.name连接在一起的值。 通常这些键值可以通过读取INI设置来获得

    同时在D:phpstudy mp mp下生成如下文件,文件名就是sess_加上你的sessionid

     查看文件内容,会写入恶意代码,这时候有个文件包含就能getshell:

    当session.upload_progress.cleanup=On时,生成的文件会定时清空,不能写入恶意代码,这时候需要条件竞争。

    在burp intruder中构造如下数据包,进行爆破

    进行爆破,这时候在进行文件包含生成shell文件,生成shell文件。

  • 相关阅读:
    DOM深度优先遍历算法
    DOM事件
    DOM修改
    DOM的方法和属性
    DOM简介
    JSON.stringify()
    JSON解析
    JSON对象
    JSON语法
    JSON对比XML
  • 原文地址:https://www.cnblogs.com/afanti/p/9227493.html
Copyright © 2011-2022 走看看