利用原理:
(1)补充系统变量@@sql_modesql_mode:是一组mysql支持的基本语法及校验规则
PIPES_AS_CONCAT:将“||”视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似
猜测后台sql语句为:
select 接受的变量 || flag form flag;
payload:
1;set sql_mode=pipes_as_contact;select1;
//闭合 //设置变量 //拼接sql语句
(2)
*,1
//拼接起来的sql语句是 select *,1 || flag from flag;
首先打开网址就是一个界面
先输入1,有回显,输入1’,没有回显,
用fuzz跑一下看过滤了哪些关键字
这里过滤了很多,
猜测应该是堆叠注入,先输入:1;show tables; 发现了这个
GitHub上有源码(https://github.com/team-su/SUCTF-2019/tree/master/Web/easy_sql)
index.php源码
```php
<?php
session_start();
include_once "config.php";
$post = array();
$get = array();
global $MysqlLink;
//GetPara();
$MysqlLink = mysqli_connect("localhost",$datauser,$datapass);
if(!$MysqlLink){
die("Mysql Connect Error!");
}
$selectDB = mysqli_select_db($MysqlLink,