CTF之SQL注入1

SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序。 在应用程序中,如果没有做恰当的过滤,则可能使得恶意的SQL语句被插入输入字段中执行(例如将数据库内容转储给攻击者)。

SQL注入的类型有很多,例如:整数型注入、字符型注入、报错注入、布尔盲注、时间盲注、Cookie注入、where后注入等等。
这里只记录下了前面两种的注入方式。

首先是整数型注入,按照提示输入一个1,返回了下面的数据,即提交的参数是直接拼接到sql语句中去的,这是最常见的sql注入点之一。

CTF之SQL注入1

先尝试下手动注入吧
查看回显位,这里尽量把id值设置的大一些。

CTF之SQL注入1

查询数据库名,即当前用的数据库

CTF之SQL注入1

查询这个数据库下所有的表名

CTF之SQL注入1

查询这个表的所有字段

CTF之SQL注入1

查询字段中的详细信息

CTF之SQL注入1

如果用sqlmap这个开源的sql注入工具会显得更简单一些
这里先检测一下存在的一些常见sql漏洞
CTF之SQL注入1

可以看到存在有基于时间的AND/OR盲注和可联合查询注入
优先考虑第二种吧

CTF之SQL注入1

先列举出存在的所有数据库

CTF之SQL注入1
CTF之SQL注入1

再获取下当前所在的数据库

CTF之SQL注入1
CTF之SQL注入1

我们就可以直接查询表了

CTF之SQL注入1
CTF之SQL注入1

列举出表中所有的列
CTF之SQL注入1
CTF之SQL注入1

列举出所有的数据
CTF之SQL注入1
CTF之SQL注入1

字符型注入同理

工欲善其事,必先利其器