当前位置: 首页 > news >正文

BUUCTF之web篇

第一题

[极客大挑战 2019]EasySQL

打开靶机后可以看到这是一个登陆的页面 我们可以尝试两种方式登录

  1. 弱口令爆破(bu'r'psuite)

  2. 通过SQL注入里的万能密码来跳过账户和密码验证的过程

    这里就需要万能密码a'or true #

    在这里单引号的作用是结束用户名或者密码的输入然后通过or和true并列起来 这样就相当于0 or 1 的结果还是1

    通过万能密码我们就可以登录进去查看到flag{db6800df-fe69-41cf-97e5-9d1c37585108}

第二题

[极客大挑战 2019]Havefun

打开靶机以后弹出这样一个页面 我们可以ctrl+u或者F12来查看一下网页源代码

这里有一段php代码 不难发现首先定义了一个$cat的变量 然后通过$_GET['cat']来输入一个数值并且赋值给cat echo(输出变量的意思) 后面做了一个判断 如果$cat=dog的话 就输出'syc{cat_cat_cat_cat}' 然后我们通过URL给$cat传一个dog的参数 然后我们就能得到flag了

flag{c9664684-1aea-4dda-8b8d-61147d1ceb6f}

<u>**$_GET**</u> 是 PHP 中的一个超全局变量,用于收集表单数据或者 URL 中的查询字符串。查询字符串是 URL 中 ? 后面的部分,由一系列的参数组成,参数之间用 & 符号分隔。每个参数由键和值组成,键和值之间用 = 连接。

  • $_GET:通过 URL 的查询字符串传递数据,数据在 URL 中可见。例如:http://example.com/page.php?name=John&age=30

  • $_POST:通过 HTTP 请求的请求体(body)传递数据,数据不会显示在 URL 中。

php语言里定义变量前需要加入$号

第三题

URL后面的问号 ? 用于分隔基本的文件路径和查询字符串

checkFile函数是通过传入的参数 $page 来进行的文件检查,而不是直接从 URL 中获取参数。所以我们需要以参数形式传递文件名【?file=source.php】,将参数传给file,而不是直接访问文件路径【/source.php】。

isset() 函数用来检查一个变量是否已设置并且非 NULL。如果变量存在且不为 NULLisset() 会返回 true;否则返回 false

is_string() 函数用于检查一个变量是否是字符串类型。如果变量 $page 是字符串类型,is_string($page) 将返回 true;如果不是字符串类型,将返回 false

in_array()函数用于检查一个值是否存在于数组中。如果指定的值存在于数组中,in_array()返回true;否则,返回 false

mb_substr 是 PHP 中的一个多字节字符串函数,它允许你从更长的字符串中截取特定长度的子字符串。这个函数考虑了字符的多字节编码,因此特别适合处理 UTF-8 等多字节字符编码的字符串。

mb_substr 函数的基本语法如下:

string mb_substr(string $string, int $start, int $length = null, string $encoding = mb_internal_encoding())
  • string:要截取的原始字符串。

  • start:开始截取的位置(从 0 开始计数)。

  • length:要截取的长度。如果不指定或为负数,则截取到字符串的末尾。

  • encoding:字符串的编码。如果不指定,则使用 mb_internal_encoding() 的设置。

    mb_strpos函数用于查找一个字符串在另一个字符串中的首次出现的位置,这个函数支持多字节字符串。如果没有找到指定的字符串,则返回false`。

    urldecode() 函数用于对经过 URL 编码的字符串进行解码。URL 编码是一种将特殊字符转换为百分号(%)后跟两位十六进制数的过程,用于在 URL 中安全传输数据

打开靶机看到只有一个表情包 所以看一下网页源码

这里body标签给出了一个source.php的文件名 我们可以在URL中发送代开这个文件的请求

通过上面的代码审计 这里有三次对是否在白名单里的检查 还有两次对参数的处理

文件查询的第一个应该在白名单里 所以就只能写source.php或者在hint.php里

这里告诉我们flag在ffffllllaaaagggg里 在src里jpg的查询跳过了三层 所以 我们用../跳过

这样我们就得到了flag

相关文章:

BUUCTF之web篇

第一题 [极客大挑战 2019]EasySQL 打开靶机后可以看到这是一个登陆的页面 我们可以尝试两种方式登录 弱口令爆破&#xff08;burpsuite&#xff09; 通过SQL注入里的万能密码来跳过账户和密码验证的过程 这里就需要万能密码aor true # 在这里单引号的作用是结束用户名或者密码…...

010——二叉树(2)线索化

引入&#xff1a; 问题1&#xff1a; n个节点的二叉树&#xff0c;用二叉链表存储&#xff0c;问在这个二叉链表中一共有 __个指针域? 其中&#xff0c;有 __个指针域不为NULL&#xff0c;__个指针域为NULL? 答&#xff1a;2n n-1 n1 在二叉链表中&#xf…...

鸿蒙拍照小助手02

项目文件目录 为了确保项目文件目录清晰,以下是完整的项目文件目录结构: code 拍照小助手/ │ ├── entry/ │ ├── src/ │ │ ├── main/ │ │ │ ├── js/ │ │ │ │ └── 默认/ │ │ │ │ ├── 页面/ │ │ │ │ │ ├── 主页/ │ │ │ │ │ │ ├…...

lua while循环

软考鸭微信小程序 过软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 Lua作为一种小巧精致的语言&#xff0c;特别适用于嵌入其他程序提供脚本支持。在编程中&#xff0c;循环结构是不可或缺的一部分&#xff0c;而while循环则是…...

JAVA篇之类和对象

目录 一. 面向对象 1.1 面向对象和面向过程 二. 类的定义和使用 2.1 什么是类 2.2 类的定义格式 三. 类的实例化 四. this引用 4.1 this引用的作用 五. 构造方法 5.1 构造方法重载 5.2 通过this调用其他构造方法 5.3 默认初始化 结语 一. 面向对象 Java 是一门面向对…...

IO流详解_CoderLix

主要内容 File类IO流字节流字符流异常处理Properties缓冲流转换流序列化流打印流 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示&#xff0c;主要用于文件和目录的创建、查找和删除等操作。 1.2 构造方法 public File(String pathname) &#xff1a;通过…...

241023-RHEL非管理员安装Docker并开放指定宿主机端口部署Gitlab

A. RHEL非管理员安装Docker 要在没有管理员权限的情况下离线安装 Docker 和 Docker Compose&#xff0c;虽然受到一定限制&#xff0c;仍有一些可行的步骤可以帮助你在有限权限下完成这项任务。需要注意的是&#xff0c;这种方式适用于本地用户环境下的 Docker 安装&#xff0…...

python ubuntu安装加速

ubuntu升级python到python3.11&#xff08;可能是全网最靠谱的方法&#xff0c;亲测有效&#xff09;_ubuntu python3.11-CSDN博客 python-release安装包下载_开源镜像站-阿里云...

100种算法【Python版】第12篇——快速幂算法

本文目录 1 基本原理2 基本步骤3 数学示例4 python代码1 基本原理 快速幂算法(Fast Exponentiation)是一种高效计算整数幂的方法,尤其适用于计算大数的幂。其主要思想是利用分治法和二进制表示来减少乘法运算的次数,从而加快计算速度。 计算 x n x^n x...

Java多线程详解②(全程干货!!!)Thread Runnable

这里是Themberfue 上节主要讲完了多线程的一些基础知识&#xff0c;这节通过代码进一步理解多线程&#x1fae1; 多线程 Java标准库中提供了Thread类&#xff0c;以程序员们编写多线程代码&#xff0c;我们可以查看官方文档进一步了解Thread的特性以及提供的接口。 类似于Sy…...

机器学习——图神经网络

图神经网络(GNN)&#xff1a;理解复杂网络数据的有效工具 图神经网络&#xff08;Graph Neural Network, GNN&#xff09;是近年来机器学习领域的热门话题。GNN 以图结构数据为核心&#xff0c;能够高效地捕捉节点和边的复杂关系&#xff0c;广泛应用于社交网络、推荐系统、生…...

一、在cubemx下RTC配置调试实例测试

一、rtc的时钟有lse提供。 二、选择rtc唤醒与闹钟功能 内部参数介绍 闹钟配置 在配置时间时&#xff0c;注意将时间信息存储起来&#xff0c;防止复位后时间重新配置。 if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0)! 0x55AA)//判断标志位是否配置过&#xff0c;没有则进…...

【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin

【Nas】X-DOC&#xff1a;Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像&#xff1a;2、启动镜像3、访问服务4、参考文档 Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像&#xff1a; docker pull nyanmisaka/jellyfin:230901-amd64jellyfin 10.8.10版本&#xff…...

合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能

文章目录 写在前面图像内容安全图像篡改应用场景伪造文档/证照检测伪造人脸检测 GAI时代系统构建加速通用文档解析 合合信息 写在前面 随着人工智能技术的飞速发展&#xff0c;生成式AI已经悄然步入了我们的日常生活&#xff0c;以其强大的内容生成能力&#xff0c;重塑了信息…...

京东双十一高并发场景下的分布式锁性能优化

背景 在电商领域&#xff0c;尤其是像京东双十一这样的大促活动&#xff0c;系统需要处理极高的并发请求。这些请求往往涉及库存的查询和更新&#xff0c;如果处理不当&#xff0c;很容易出现库存超卖、数据不一致等问题。分布式锁作为一种有效的解决方案&#xff0c;能够在多…...

华为ICT题库-AI 人工智能部分

1178、以下哪个选项是华为的云端AI芯片&#xff1f;&#xff08;云服务考点&#xff09; (A)Inferentia (B)MLU100 (C)Cloud TPU (D)Ascend 910 答案&#xff1a;D 解析&#xff1a;华为的云端AI芯片被称为Ascend芯片系列&#xff0c;其中Ascend 910是其旗舰产品。Ascend 910…...

React Native 修改安卓应用图片和名称

在React Native&#xff08;RN&#xff09;项目中&#xff0c;修改安卓应用图标和名称通常涉及对Android原生代码的一些修改。以下是详细步骤&#xff1a; 修改应用图标 准备图标资源&#xff1a; 创建或获取你想要的图标&#xff0c;并确保它们符合Android的图标规范&#xf…...

普推知产:商标初审已下,商标申请通过如何高些!

近期下来一批商标注册的初步审公告通知书&#xff0c;一些客户对商标下证要求比较高的&#xff0c;普推知产商标老杨发现&#xff0c;要像下证高核心还是在于名称&#xff0c;名称起好备用的多&#xff0c;让商标专业人士经检索后层层过滤后提报&#xff0c;通过会好很多。 普推…...

HICP--2

在area 0的路由器只生成 area 0 的数据库&#xff0c;只在area 1 的一样。但是既在又在的生成两个 area的 LSDB 一、区域间三类LSA 在OSPF&#xff08;Open Shortest Path First&#xff09;协议中&#xff0c;区域间三类LSA&#xff08;Link-State Advertisement&#xff09…...

sheng的学习笔记-AI基础-正确率/召回率/F1指标/ROC曲线

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 分类准确度问题 假设有一个癌症预测系统&#xff0c;输入体检信息&#xff0c;可以判断是否有癌症。如果癌症产生的概率只有0.1%&#xff0c;那么系统预测所有人都是健康&#xff0c;即可达到99.9%的准确率。 但显然这样的…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...