SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序。 在应用程序中,如果没有做恰当的过滤,则可能使得恶意的SQL语句被插入输入字段中执行(例如将数据库内容转储给攻击者)。
SQL注入的类型有很多,例如:整数型注入、字符型注入、报错注入、布尔盲注、时间盲注、Cookie注入、where后注入等等。
这里只记录下了前面两种的注入方式。
首先是整数型注入,按照提示输入一个1,返回了下面的数据,即提交的参数是直接拼接到sql语句中去的,这是最常见的sql注入点之一。
先尝试下手动注入吧
查看回显位,这里尽量把id值设置的大一些。
查询数据库名,即当前用的数据库
查询这个数据库下所有的表名
查询这个表的所有字段
查询字段中的详细信息
如果用sqlmap这个开源的sql注入工具会显得更简单一些
这里先检测一下存在的一些常见sql漏洞
可以看到存在有基于时间的AND/OR盲注和可联合查询注入
优先考虑第二种吧
先列举出存在的所有数据库
再获取下当前所在的数据库
我们就可以直接查询表了
列举出表中所有的列
列举出所有的数据
字符型注入同理
工欲善其事,必先利其器