黑客入侵中把数据从SQL Server输出到文本文件

安全 黑客攻防
需要做的第一件事是确定xp_cmdshell是可用的。你可以选择下面两种方法中的一种来实现。
需要做的第一件事是确定xp_cmdshell是可用的。你可以选择下面两种方法中的一种来实现。

1.你可以使用sp_configure并执行下面的脚本。

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE
EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE

2.你可以使用Surface Area Configuration工具。

选择功能中的Surface Area Configuration并检查Enable xp_cmdshell检验栏。


图一

现在既然你已经使xp_cmdshell可用,那么你可以准备输出你的文件。

下面是一个示例命令,它将把系统文件表的结果输出到以逗号分割的文件bcptest.txt中。只需复制并把它粘贴到一个查询窗口中且执行这个查询。

EXEC xp_cmdshell 'bcp "SELECT * FROM sysfiles" queryout "C:\bcptest.txt" -T -c -t,'

注:BCP是一个命令行实用工具,xp_cmdshell要求只能在一个SQL批处理内使用。
当在"master"数据库中执行上面的命令时将得到这个输出结果。


图二

使用的参数是:

Queryout选项允许你指定一个查询来输出。这可以像我们使用的查询那样简单也可以像你需要的那样复杂。你也可以创建一个视图并从视图中选择数据。

file name是存储结果的,它位于queryout选项之后。

-T参数指定bcp实用工具通过集成安全使用一个可信连接来连接到SQL Server。如果你想使用一个SQL Server登陆,那么你可以使用-P(密码)和-U(用户)。

-c指定将用于各个字段的字符数据类型。

-t参数允许你指定一个字段定界符。在-t之后的字符将用于隔开数据字段。如果-t被删除了,那么tab将用于默认定界符。

另一个你可能需要使用的参数是-S,你可以用它来指定服务器名称。如果你有一个指定的实例,那么你需要使用这个参数。下面是一个连接到服务器"DEVELOP" 和实例 "DEV1"的例子。

EXEC xp_cmdshell 'bcp "select name, type_desc, create_date from sys.objects" queryout "C:\bcptest2.txt" -T -SDEVELOP\DEV1 -c -t,'

你也必须知道使用参数-t和-T的实例是不一样的,所以要保证你在实例中使用正确的参数。

【编辑推荐】

  1. 在SQL Server中如何用通配符搜索TEXT栏
  2. SQL Server数据库安全列表
  3. SQL Server 安全检查列表
责任编辑:Oo小孩儿 来源: 安全中国网
相关推荐

2010-11-15 15:06:58

ORACLE数据库记录

2021-11-29 09:46:11

FileReaderJava开发

2023-03-31 23:31:06

.go文本文件

2010-04-30 17:38:31

Unix文本

2009-08-06 18:33:45

C#处理文本文件

2009-09-02 19:13:08

C#处理文本文件

2022-11-07 12:22:00

2010-01-15 10:05:35

VB.NET文件对象

2009-09-02 19:08:03

C#实现读取文本文件

2009-09-04 15:56:35

写入文本文件

2009-08-26 11:53:56

C#打印文本文件

2015-06-17 14:28:15

Java查询处理方法

2014-03-11 10:11:33

Linux命令more命令文本文件

2010-02-01 14:26:50

C++读写文本文件

2009-08-19 17:44:15

C#操作文本文件

2011-04-08 10:16:13

文本文件ACCESS数据库

2019-04-03 10:03:23

2009-08-20 09:15:20

C#操作文本文件

2022-09-29 10:01:05

Go编程语言文本文件

2009-08-20 10:17:27

C#操作文本文件
点赞
收藏

51CTO技术栈公众号