zoukankan      html  css  js  c++  java
  • buuctf-web [ACTF2020 新生赛]BackupFile

    启动靶机,

     上面说让你试着找一下源文件,backupfile是备份文件,这个时候需要用扫描工具dirsearch扫描一手,工具去下面链接下载

    https://github.com/maurosoria/dirsearch

    我们到主程序的目录下,也就是dirsearch的文件位置然后执行  py dirsearch.py -u url地址 -e*

     然后能扫描出来一个文件index.php.bak

    然后下载下来,利用工具打开,我是用的Notepad++Portable打开的

    <?php
    include_once "flag.php";
    
    if(isset($_GET['key'])) {
        $key = $_GET['key'];
        if(!is_numeric($key)) {
            exit("Just num!");
        }
        $key = intval($key);
        $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
        if($key == $str) {
            echo $flag;
        }
    }
    else {
        echo "Try to find out source file!";
    }

    然后就要进行代码审计了,

    最后的条件是key和str的值要相等才行,

     

     intval()函数就是用于获取变量的整数值的,int和string是无法直接比较的,php会将string转换成int然后再进行比较,转换成int比较时只保留数字,第一个字符串之后的所有内容会被截掉。

    所以key为123就可以

    最后的pyload就是为?key=123

    这样就可以得到flag了:

  • 相关阅读:
    重剑无锋
    PHP session用redis存储
    Beego 和 Bee 的开发实例
    谁是最快的Go Web框架
    Go语言特点
    计算机组成原理之机器
    Elasticsearch 健康状态处理
    Elasticsearch 的一些关键概念
    Elasticsearch 相关 api 操作
    Elasticsearch 在 windows 和 ubuntu 下详细安装过程
  • 原文地址:https://www.cnblogs.com/awsole/p/13726921.html
Copyright © 2011-2022 走看看