【BUUCTF web】通关1.0

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

目录

1、[极客大挑战 2019]Havefun

2、[HCTF 2018]WarmUp

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

4、[极客大挑战 2019]Http

5、[极客大挑战 2019]Knife

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}

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

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.bcls.cn/Cvvo/9785.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

微信为什么使用 SQLite 保存聊天记录?

SQLite 是一个被大家低估的数据库&#xff0c;但有些人认为它是一个不适合生产环境使用的玩具数据库。事实上&#xff0c;SQLite 是一个非常可靠的数据库&#xff0c;它可以处理 TB 级的数据&#xff0c;但它没有网络层。接下来&#xff0c;本文将与大家共同探讨 SQLite 在过去…

房贷计算器微信小程序原生语言

微信小程序: 房贷计算器 效果: 输入 300万 结果 还款明细 一共有3个页面 1、输入页面 2、结果页面 3、详情页面 1 index页面 index.wxml文件 <view class="text-black"><!--房屋总价--><view class="cu-bar bg-white solid-bottom"&…

ZABBIX修改web界面的 “支持“,“帮助”,“Integrations“。等菜单按钮,百试百灵,删除修改Help,Support菜单

♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ **ZABBIX修改web界面的 “支持”&#xff0c;“帮助”,“Integrations”。等菜单按钮&#xff0c…

十三、Qt多线程与线程安全

一、多线程程序 QThread类提供了管理线程的方法&#xff1a;一个对象管理一个线程一般从QThread继承一个自定义类&#xff0c;重载run函数 1、实现程序 &#xff08;1&#xff09;创建项目&#xff0c;基于QDialog &#xff08;2&#xff09;添加类&#xff0c;修改基于QThr…

提升智能客服机器人的语义理解能力:理解用户的语义和意图

智能客服机器人的发展已经成为现代服务业的一大亮点。它们不仅能够提供724小时不间断的服务&#xff0c;而且能够处理大量的用户请求&#xff0c;大大提高了服务效率。然而&#xff0c;尽管智能客服机器人的技术已经取得了显著的进步&#xff0c;但其语义理解能力仍有待提高。为…

Crawler爬虫基础知识

本来其实不知道爬虫的意义的&#xff0c;但是发现爬虫在信息收集的那一方面好像挺重要&#xff01;&#xff01; 那么就来浅学一下吧&#xff01;&#xff01;&#xff01; 1.基本的储备 对于爬虫&#xff0c;我们一般都是用的python去编写脚本 &#xff0c;其中还要导入…

阿里云启动实例进入了急救模式解决办法

相关文档 问题描述 通过远程连接软件无法登录Linux实例&#xff0c;通过使用管理终端连接Linux实例远程连接时&#xff0c;发现系统进入到急救模式&#xff08;emergency mode&#xff09;&#xff0c;且出现报错。 CentOS实例报如下错误。 systemctl default to try again…

模拟算法题练习(一)

模拟算法介绍&#xff1a; 模拟算法通过模拟实际情况来解决问题&#xff0c;一般容易理解但是实现起来比较复杂&#xff0c;有很多需要注意的细节&#xff0c;或者是一些所谓很“麻模“的东西。 模拟题一般不涉及太难的算法&#xff0c;一般就是由较多的简单但是不好处理的部…

Java——建造者模式(Builder)

建造者模式&#xff08;Builder&#xff09; 1、建造者模式的定义 将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 Builder模式是一步一步创建一个复杂对象的创建型模式&#xff0c;它允许使用者在不知道内部建造细节的情况下&…

Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及审…

【计算机】本科考研还是就业?

其实现在很多计算机专业的学生考研&#xff0c;也是无奈的选择 技术发展日新月异&#xff0c;而在本科阶段&#xff0c;大家学着落后的技术&#xff0c;出来找工作自然会碰壁。而且现在用人单位的门槛越来越高&#xff0c;学历默认研究生起步&#xff0c;面试一般都是三轮起步…

Linux 下安装Jupyter

pip3 install jupyter pip3 install ipython -------------------------------------------- pip3 install jupyterlab jupyter lab pip3 list | grep jupyterlab 启动&#xff1a; python3 -m jupyter lab 2.安装朱皮特 pip3 install -i https://pypi.douban.com/simpl…

安卓开发1- android stdio环境搭建

安卓开发1-android stdio环境搭建 Jdk环境搭建 1. 准备Jdk,这边已经准备好了jdk1.8.0,该文件直接使用即可 2. 系统变量添加 %JAVA_HOME%\bin JAVA_HOME 3. 系统变量&#xff0c;Path路径添加 4. 添加完成后&#xff0c;输入命令javac / java -version&#xff0c;验证环…

初学者如何使用QT新建一个包含UI界面的C++项目

文章目录 一、下载并安装QT51、下载安装包2、注册/登录账号3、安装qt6 二、新建QT Widget项目1、新建项目并且运行2、易错点&#xff1a;可能运行成功得到UI界面但是会报错&#xff08;原因是使用了中文路径&#xff09; 一、下载并安装QT5 1、下载安装包 进入下载网址 Windo…

DOM 创建节点、添加节点和删除节点

创建元素节点 document.createElement(‘标签名’) 创建文本节点document.createTextNode ( 内容 ) 根据传入的标签名创建出一个空的元素对象创建出来的默认不显示&#xff0c;要成为别人的子元素才能显示&#xff0c;所以要结合appendChild使用 添加节点&#xff08;后面&am…

使用sunshine和moonlight实现远程游戏串流

过年回家想要打游戏&#xff0c;但是苦于家里没有电脑&#xff0c;又没办法把电脑搬回去&#xff0c;于是想到了使用串流的方式。 实现串流的软件有多种&#xff1a; moonlight。因为仅实现了 NVIDIA 的游戏串流协议&#xff0c;所以只支持 N 卡。Steam Link。支持 steam 的游…

Flutter Text 下划线

IntrinsicWidth(child: Column(mainAxisAlignment:MainAxisAlignment.center,children: [Text("工单名称",style: TextStyle(overflow: TextOverflow.fade,color: AppColors.baseColor,fontSize: 15.sp,// decorationStyle: TextDecorationStyle.dashed),),Container…

Win11系统安装安卓子系统教程

随着Win11系统的不断普及&#xff0c;以及硬件设备的更新换代&#xff0c;我相信很多同学都已经更新并使用到了最新的Win11系统。那么&#xff0c;Win11系统最受期待的功能“Windows Subsystem for Android”&#xff08;简称WSA&#xff09;&#xff0c;即《安卓子系统》。他可…

【MATLAB】MVMD_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 MVMD_MFE_SVM_LSTM神经网络时序预测算法结合了多变量多尺度分解&#xff08;MVMD&#xff09;、多尺度特征提取&#xff08;MFE&#xff09;、支持向量机&#xff08;SVM&#xff09;和长…

(vue)复合型输入框el-input输入数字类型,e,+,-等特殊符号可以输入

(vue)复合型输入框el-input输入数字类型&#xff0c;e&#xff0c;&#xff0c;-等特殊符号可以输入 效果 代码 <el-form-item label"分数区间"><el-inputplaceholder"请输入内容"v-model.number"formInline.scoreIntervalValue"clas…
推荐文章