sql注入学了主要还是用来打ctf的,在这里记录刷过关于sql注入的题目

[SUCTF 2019]EasySQL

EasySQL
从这道题学到了堆叠注入,顺便介绍一下

  • Stacked injections(堆叠注入) 从字面意思就是一堆sql语句注入众所周知,每条sql语句后面都是一;结尾的,那么我们就可以多句一起使用
  • union的区别:union执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意语句。
  • 但是堆叠注入是由局限性的,例如php为了防止sql注入机制,使用数据库的函数时mysqli_quert(),其只能执行一条语句,分号后面的内容将不会执行

这道题的考点有两个:
1.堆叠注入
2.set sql_mode=PIPES_AS_CONCAT;
3.没有过滤*

因为这道题的逻辑可能是

select $_POST[query] || flag from flag

所以使用set sql_mode=PIPES_AS_CONCAT;||视为字符串连接操作符而非或运算符。

payload:

1;set sql_mode=PIPES_AS_CONCAT;select 1

flag

最后修改:2020 年 04 月 16 日
如果觉得我的文章对你有用,请随意赞赏