学徒-WHERE子句-检索隐藏数据
# 实验室: WHERE子句中的SQL注入漏洞,允许检索隐藏的数据
# 题目
本实验室在产品类别筛选器中包含一个SQL注入漏洞 (opens new window)。当用户选择一个类别时,应用程序执行如下SQL查询:
SELECT * FROM products WHERE category = 'Gifts' AND released = 1
1
要解决这个问题,可以执行SQL注入攻击,使应用程序显示任何类别中所有产品的详细信息,包括已发布和未发布的产品。
- name: 实验室-学徒
desc: WHERE子句中的SQL注入漏洞,允许检索隐藏数据 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data
bgColor: '#001350'
textColor: '#39d50c'
1
2
3
4
5
6
2
3
4
5
6
# 实验室
根据题意,可得实验目标:
- 在产品类别筛选器中 执行SQL注入攻击,并使应用程序显示 所有类别中的 所有产品信息
点击进入实验室
实验室主页如下:
先随意点几下。在点击某个标签时,发现URL栏里出现了一个GET传参?category=Accessories
根据题目,category就是我们要注入的参数
- 尝试输入一个单引号,发现应用程序出现错误
实验室目标:执行SQL注入攻击,使应用程序显示 任何类别的所有产品 的详细信息,包括已发布和未发布的产品
根据官方SQL注入教程里学习到的内容,我们输入' OR 1=1 -- 构造以下请求
https://website.com/filter?category=Accessories' OR 1=1 --
1
(我的个人习惯,在注释符号--的后面还添加了一些字符qwe)
此时,页面正常显示内容
现在,你可以查看实验室状态,它应该变为了“已完成”
编辑 (opens new window)