【BUUCTF web】通关1.0

news/2024/5/19 22:48:27 标签: 前端, java, 开发语言, 安全, 网络, CTF, BUUCTF
🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

1、[极客大挑战 2019]Havefun

CTF%202018%5DWarmUp-toc" style="margin-left:80px;">2、[HCTF 2018]WarmUp

3、[极客大挑战 2019]Secret File

4、[极客大挑战 2019]Http

5、[极客大挑战 2019]Knife

CTF2020%20%E6%96%B0%E7%94%9F%E8%B5%9B%5DBackupFile-toc" style="margin-left:80px;">6、[ACTF2020 新生赛]BackupFile


1、[极客大挑战 2019]Havefun

flag{70759bb4-f798-42cd-a804-75643cad4f3c}

一打开web页面是下面的界面,看起来就是简单的html页面,一般情况,我们可以右击查看网页源代码。

源代码:发现下面有一段php代码提示,告诉我们利用get传参,然后回显flag

http://212ece18-ab24-46ac-a569-27c4ae46cce0.node5.buuoj.cn:81/?cat=dog

成功拿到flag:

flag{70759bb4-f798-42cd-a804-75643cad4f3c}

CTF%202018%5DWarmUp">2、[HCTF 2018]WarmUp

flag{eeef61d4-5e6d-44c8-a9c0-505a9f5d98fc}

访问链接,发现是个静态的html网页,查看源代码

网页源代码:发现source.php文件

是个php的代码审计

通关源代码的分析,我们尝试构造payload,得到提示flag在ffffllllaaaagggg文件里面

source.php?file=hint.php

关于payload的解释:

因为我们当前的source.php一般是在html目录下,往上是www,var,然后到根目录,flag一般就放在根目录下面,这里还有一个hint.php?/或者source.php?/,因此需要返回四层才能到根目录。

source.php?file=hint.php?/../../../../ffffllllaaaagggg

flag{eeef61d4-5e6d-44c8-a9c0-505a9f5d98fc}

3、[极客大挑战 2019]Secret File

访问题目链接,发现是个静态的html界面,我们老规矩直接右击查看源代码

右击查看源代码,发现/Archive_room.php目录,我们这里尝试访问下

访问出现了这个提示界面,很重要

但是我们点击中间的select查询按钮,发现提示说我们查阅结束,可是我们都还没有查看,怎么就查阅结束了呢,我们尝试查看源代码,但是没有查看到什么有价值的信息,我们想到可能被注释了,我们这里尝试利用burp抓包访问下。

利用burp抓包查看,发现还真注释了一个目录文件:secr3t.php

访问发现又是php代码审计

具体分析如下:

  1. error_reporting(0); 这句代码会关闭错误报告,使得攻击者更难发现和利用可能存在的错误。
  2. strstr($file,"../") 这里尝试检查用户输入的 file 参数中是否包含 ../,试图防止用户尝试向上遍历目录进行文件包含。但这种检查方式不够安全,因为可以通过其他编码、绕过方式继续进行目录遍历。
  3. stristr($file, "tp"), stristr($file,"input"), stristr($file,"data") 这几段检查是在尝试防止用户输入包含特定关键词,以防止包含敏感文件。然而,这种基于关键词匹配的方式也很容易被绕过。
  4. 最重要的是在根据用户输入的 file 参数包含文件时,并未对文件路径做充分的验证和过滤,这意味着攻击者可以构造恶意的 file 参数来包含任意文件,包括敏感文件如 flag.php

我们这里利用file传参,然后利用filter伪协议,base64编码访问flag.php文件

通过base64解码,拿到flag

 

4、[极客大挑战 2019]Http

flag{bd656c4a-f7ff-47d4-ae02-0b2f5b792d7e}

直接访问,发现是个三叶草安全技术小组的网站,老规矩右击查看网页源代码

发现Secret.php文件,我们尝试访问下

提示我们:它不是来自'https://Sycsecret.buuoj.cn',这个题目叫HTTP,说明应该要利用http协议,我们可以先利用burp抓包,然后修改Referer头,修改为https://Sycsecret.buuoj.cn

Referer:https://Sycsecret.buuoj.cn
  1. 尝试使用 “Syclover” 浏览器来访问该网站。
  2. 使用工具来修改请求头中的 User-Agent 信息,使服务器认为你正在使用 “Syclover” 浏览器。

修改请求头中的 User-Agent 信息

User-Agent: Syclover

只能在本地,我们可以伪造本地ip 127.0.0.1,所以我们可以利用X-Forwarded-For协议来伪造只需要在 header 添加 X-Forwarded-For:127.0.0.1,再次访问,这时得到flag

X-Forwarded-For:127.0.0.1

5、[极客大挑战 2019]Knife

flag{a0748d5f-8224-4d3f-8a96-51bc425867b5}

打开链接发现下面web页面有一个POST小马提示,这里说不定就是直接利用蚁剑工具连接,然后getshell的呢。

蚁剑连接成功

在根目录找到flag

CTF2020%20%E6%96%B0%E7%94%9F%E8%B5%9B%5DBackupFile">6、[ACTF2020 新生赛]BackupFile

flag{756411ad-0b33-4ec7-9312-5bdd9a33f31a}

打开web页面,发现提示:让我们找到备份文件,备份文件一般以bak,swp等一些后缀结尾,我们可以利用dirsearch扫描

扫描目录发现index.pho.bak,下载查看是个php代码审计

python dirsearch.py -u http://03598744-56aa-4d6f-80a1-78838f7836b3.node5.buuoj.cn:81/ -e .bak,.swp

php代码审计

<?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 的值时使用的是 ==,所以要确保key和str相等。

在PHP中:

= = 为弱相等,即当整数和字符串类型相比较时,会先将字符串转化为整数然后再进行比较。比如

a=123和b=123admin456进行= =比较时。则b只会截取前面的整数部分。即b转化成123。

所以,这里的a = = b是返回True。

所以这里我们只需要提供一个参数?key=123就可以拿到flag


http://www.niftyadmin.cn/n/5406645.html

相关文章

脾胃论笔记

焦虑会导致脾胃受伤 焦虑等不良情绪也会导致脾胃受伤&#xff0c;我们称其为肝气不舒。肝气不舒会导致脾胃系统出问题&#xff0c;这叫肝木横逆克脾土&#xff0c;木克土&#xff0c;脾胃就容易受伤。 这样的情况在现代社会特别多。这跟古人就不一样&#xff0c;古人生活相对…

如何在Vue中实现事件处理?

Vue是一种流行的JavaScript框架&#xff0c;广泛应用于前端开发。在Vue中&#xff0c;事件处理是一个非常关键的概念&#xff0c;可以帮助我们实现用户与页面的交互&#xff0c;今天我们就来探讨一下如何在Vue中实现事件处理。 首先&#xff0c;让我们先了解一下在Vue中如何绑…

AI大预言模型——ChatGPT科研与AI绘图及论文高效写作教程

原文链接&#xff1a;AI大预言模型——ChatGPT科研与AI绘图及论文高效写作教程 2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚…

【d34】【Java】【力扣】27. 移除元素

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

如何本地创建websocket服务端并发布到公网实现远程访问

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

React 第四章 组件状态与数据传递

组件状态 早期类组件被称之为有状态组件&#xff0c;就是因为在类组件中能够维护组件数据。 class 类名 extends React.Component{constructor(){super();// 设置组件自身的数据状态this.state {xxx : xxx}}render(){return (// 通过 {this.state.xxx} 来获取状态数据)} }//…

vue3 使用实现签到活动demo静态布局详解

文章目录 1. 实现效果2. 签到设置7天布局2.1 实现代码 3 签到设置15天布局3.1 思路分享 4 完整demo代码5. 总结 1. 实现效果 实现一个签到活动的h5页面布局&#xff0c;需求如下 签到活动天数可配置&#xff0c;可配置7天&#xff0c;15天&#xff0c;30天等默认天数要求展示2行…

RocketMQ十大核心问题

RocketMQ 是一个开源的分布式消息中间件&#xff0c;主要用于处理大规模的消息服务&#xff0c;支持高吞吐量的消息发布和订阅场景。在面试中&#xff0c;关于 RocketMQ 的问题可以涵盖基础概念、架构设计、特性、使用场景以及问题排查等方面。以下是十个核心的 RocketMQ 问题&…