从业者-UNION攻击-查找包含文本的列
# 实验室: SQL注入UNION攻击,查找包含文本的列
# 题目
此实验室在产品类别筛选器中包含SQL注入漏洞 (opens new window)。
查询的结果在应用程序的响应中返回,因此您可以使用 UNION 攻击从其他表中检索数据。
若要构造此类攻击,首先需要确定查询返回的列数。可以使用在以前的实验室 (opens new window)中学到的技术来执行此操作。下一步是标识与字符串数据兼容的列。
实验室将提供一个随机值,你需要使该值显示在查询结果中。若要解决实验室问题,请执行 SQL 注入 UNION 攻击,该攻击返回包含所提供值的附加行。此方法可帮助您确定哪些列与字符串数据兼容。
- name: 实验室-从业者
desc: SQL注入UNION攻击,查找包含文本的列 >>
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/union-attacks/lab-find-column-containing-text
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实验室
根据题意,可得实验目标:
- 在产品类别筛选器中 执行SQL注入UNION攻击,并确定哪些列 可以与字符串数据兼容
- 实验室提供一个随机值,请在相应的列中 查询该随机值
进入实验室
进入实验室后,根据题意,会提供一个随机值给我们,此处我的随机值为:fcVECS
根据实验目标,我们需要进行SQL注入UNION攻击,并使应用程序返回这个随机值
产品类型筛选器中包含SQL注入漏洞,找到它
- 此处判断列数为3
' UNION SELECT NULL,NULL,NULL-- qwe
1

通过本章学习到的知识,找出数据类型为字符串的列
' UNION SELECT 'a',NULL,NULL-- qwe
' UNION SELECT NULL,'a',NULL-- qwe
' UNION SELECT NULL,NULL,'a'-- qwe
1
2
3
2
3
将第一个 NULL 替换为 'a' ,页面出现错误
- 说明第一列的数据类型不为字符串
- 或 该数据类型不兼容字符串数据
将第二个 NULL 替换为 'a' ,页面正常显示内容,而且应用程序在页面响应内容中 返回了字符a
将第二个 NULL 替换为实验室刚刚提供的随机值:fcVECS
页面返回了字符串fcVECS,并且实验室提示我们完成了实验
编辑 (opens new window)