一道简单的sql注入题目

一道简单的sql注入题目

好久都没有做ctf的题目了,最近又重新开始回顾了。首先是sql注入。这是一道简单的整数型注入题目。

首先,进入网址:http://www.kabelindo.co.id/index.php
一道简单的sql注入题目
刚开始我以为是搜索框注入,然后我发现我错了。。。。
但是,我看到了news:
一道简单的sql注入题目
这就非常的舒服,进入后果然有一个注入点
一道简单的sql注入题目
加一个单引号,会报错。加 and 1=1,不会报错。说明是一个整数型注入。

开始得到列数:
一道简单的sql注入题目
一道简单的sql注入题目
order by 5不报错,order by 6报错。说明总共有六列。
然后进行联合查询,观察回显。
一道简单的sql注入题目
之后开始爆数据库:
一道简单的sql注入题目
因为题目中说,flag为最后一个表名,所以我们要从information_schema中得到所有的表。
构造:union select 1,count(table_name),3,4,5 from information_schema.tables where table_schema = database()
得到该数据库中表的数量。
一道简单的sql注入题目
然后爆出数据库中最后一个表:
构造:union select 1,table_name,3,4,5 from information_schema.tables where table_schema = database() limit 22,1
一道简单的sql注入题目
flag 就是flag{mstpro}

结语

你也可用sqlmap来跑,但是还是要锻炼自己的手工注入,掌握原理,才能走得更远。