buuctfweb刷题wp详解及知识整理----【SUCTF 2019】EasySQL(sql注入)

写在前面

这个题不知道查询语句的源代码是真的难写
所查看大佬的博客:
https://www.cnblogs.com/chrysanthemum/p/11729891.html
https://blog.csdn.net/qq_44657899/article/details/104533077

尝试之路加wp

只有一个文本提交框
buuctfweb刷题wp详解及知识整理----【SUCTF 2019】EasySQL(sql注入)_第1张图片
发现可以堆叠注入,用show命令
可得到 库名 为ctf,表名Flag
buuctfweb刷题wp详解及知识整理----【SUCTF 2019】EasySQL(sql注入)_第2张图片
尝试读表,fuzz过一遍发现handler 和prepare都过滤了
于是懵逼
查看大佬们的wp,说比赛时泄露了源代码

select $_GET['query'] || flag from flag

于是
只需将’||'设置来实现字符串拼接就好
于是payload

1;set sql_mode=PIPES_AS_CONCAT;select 1

非预期解

*,1

过滤不严导致

学到的姿势

@sql_modesql_mode系统变量

@sql_modesql_mode:是一组mysql支持的基本语法及校验规则
查看全局的sql_mode:
buuctfweb刷题wp详解及知识整理----【SUCTF 2019】EasySQL(sql注入)_第3张图片查看当前的sql_mode:
buuctfweb刷题wp详解及知识整理----【SUCTF 2019】EasySQL(sql注入)_第4张图片
设置sql_mode:
buuctfweb刷题wp详解及知识整理----【SUCTF 2019】EasySQL(sql注入)_第5张图片

你可能感兴趣的:(buuctfweb刷题wp详解及知识整理----【SUCTF 2019】EasySQL(sql注入))