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了:

  • 相关阅读:
    【BZOJ 1598】 牛跑步
    【SDOI 2010】 魔法猪学院
    【POJ 2449】 Remmarguts' Date
    【HDU 3085】 Nightmare Ⅱ
    【POJ 3635】 Full Tank
    【POJ 2230】 Watchcow
    USB设备驱动总结
    经典SQL语句大全
    float型数据与字节数组的转化
    linux下dmesg命令详解
  • 原文地址:https://www.cnblogs.com/awsole/p/13726921.html
Copyright © 2011-2022 走看看