Sql注入

Sql注入

Sql 注入攻击是通过将恶意的Sql查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执⾏进⾏的攻击,它⽬前⿊客对数据库进⾏攻击的最常用⼿段之⼀。
当访问动态⽹页时, Web 服务器会向数据库发起 Sql 查询请求,如果权限验证通过就会执⾏ Sql 语句。
这种⽹站内部直接发送的Sql请求⼀般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造 Sql 语句,如果用户输入的数据被构造成恶意 Sql 代码,Web 应用⼜未对动态构造的 Sql 语句使用的参数进⾏审查,则会带来意想不到的危险。

Sql 注入带来的威胁主要有如下⼏点:
猜解后台数据库,这是利用最多的⽅式,盗取⽹站的敏感信息。
绕过认证,列如绕过验证登录⽹站后台。
注入可以借助数据库的存储过程进⾏提权等操作。

sql注入产生条件 #F44336
1.有参数值的传递
2.参数值是可控
3.带入数据库查询(执行)--变量未存在过滤或过滤不严谨

常见的数据库的介绍

access数据库

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine和图形用户界⾯两项特点,是 Microsoft Office 的系统程序之⼀。Microsoft Office Access是微软把数据库引擎的图形用户界⾯和软件开发⼯具结合在⼀起的⼀个数据库管理系统。它是微软OFFICE的⼀个成员, 在包括专业版和更⾼版本的office版本⾥⾯被单独出售。2012年12⽉4⽇,最新的微软Office Access 2013在微软Office 2013⾥发布,微软Office Access 2010 是前⼀个版本。
MS ACCESS以它⾃⼰的格式将数据存储在基于Access Jet的数据库引擎⾥。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。

access数据库结构

表名---->列名---->内容数据 他不像其他的数据库⼀样、⾥⾯创建多个数据库然后才是表再是内容,⽽access的话只有⼀个库若⼲张表

查看access数据库

可以安装office套件进⾏查看、或者可以通过别的⼯具、如DbView、Easy Access等。

浏览测试所使用的表

使用数据库查看器打开Database⽬录下的#Data.mdb⽂件

mysql数据库

MySQL是⼀种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语⾔--结构化查询语⾔(SQL)进⾏数据库管理。
由于MySQL是开放源代码的,因此任何⼈都可以在General Public License的许可下下载并根据个性化的需要对其进⾏修改。MySQL因为其速度、可靠性和适应性⽽备受关注。⼤多数⼈都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

mssql数据库

美国Microsoft公司推出的⼀种关系型数据库系统。SQLServer是⼀个可扩展的、⾼性能的、为分布式客户机/服务器
计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统⽅案。
其主要特点如下:
(1)⾼性能设计,可充分利用WindowsNT的优势
(2)系统管理先进,⽀持Windows图形化管理⼯具,⽀持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种⽅法保证数据的完整性。
(4)⽀持对称多处理器结构、存储过程、ODBC,并具有⾃主的SQL语⾔。 SQLServer以其内置的数据复制功能、强⼤的管理⼯具、与Internet的紧密集成和开放的系统结构为⼴⼤的用户、开发⼈员和系统集成商提供了⼀个出众的数据库平台。

Sql server 2008

https://jingyan.baidu.com/article/948f592434b407d80ef5f97d.html

Mssql数据库的补充介绍

权限介绍

sa权限:数据库操作,⽂件管理,命令执⾏,注册表读取等 system
db权限:⽂件管理,数据库操作等 users-adminstrators
public权限:数据库操作 guest-users

判断权限的语句

and 1=(select is_srvrolemember('sysadmin')) //判断是否是系统管理员
and 1=(select is_srvrolemember('db_owner')) //判断是否是库权限
and 1=(select is_srvrolemember('public')) //判断是否为public权限

调用数据库的代码

<%
set conn =server.createobject("adodb.connection")
conn.open "provider=sqloledb;source=local;uid=sa;pwd=******;database=database-name"
%>

Oracle数据库

Oracle Database,⼜名Oracle RDBMS,或简称Oracle。是甲⾻⽂公司的⼀款关系数据库管理系统。它是在数据库领域⼀直处于领先地位的产品。可以说Oracle数据库系统是⽬前世界上流⾏的关系数据库管理系统,系统可移植性好、使用⽅便、功能强,适用于各类⼤、中、小、微机环境。它是⼀种⾼效率、可靠性好的、适应⾼吞吐量的数据库解决⽅案

postgresql数据库

PostgreSQL是⼀种特性⾮常齐全的⾃由软件的对象-关系型数据库管理系统(ORDBMS),是以加州⼤学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在⽐较迟的时候才出现在商业⽹站数据库中。PostgreSQL⽀持⼤部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以⽤许多⽅法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引⽅法、过程语⾔等。另外,因为许可证的灵活,任何⼈都可以以任何⽬的免费使⽤、修改和分发PostgreSQL。

posted @ 2020-11-25 10:45  Black-Sweater  阅读(103)  评论(0编辑  收藏  举报