堆叠注入--攻防世界CTF赛题学习
在一次联系CTF赛题中才了解到堆叠注入,在这里简单介绍一下。
堆叠注入的原理什么的一搜一大堆,我就不引用百度了,直接进入正题。
这个是攻防世界的一道CTF赛题。
采用寻常思路来寻找sql注入漏洞。
payload:1' and 1=1--+
利用payload:' and 1=2--+
可以确定用户输入的内容被带入到数据库中查询了,那么就可以确定这个位置有注入漏洞。
接下来就是手工注入的常见思路,利用order by来猜列。
payload:' order by 1--+
在这里我们可以猜测有两列数据。
那么接下来利用union select 进行查询
发现对关键字都进行了过滤,那么接下来想用常规思路得到数据是不可能了,就利用堆叠注入。
payload:1';show databases;--+
payload:' ;show tables;--+
看到一个及其奇怪的表。
在这发现了flag,这里查询的时候注意一下,需要用``把表名括起来。
payload:';handler `1919810931114514` open;handler `1919810931114514` read first;--+
在这里大家额外补充一下关于mysql中handler的知识点,我也是现查的。
附一个学习链接:【MySQL】MySQL 之 handler 的详细使用及说明 - 灰信网(软件开发博客聚合)