社区
MS-SQL Server
帖子详情
怎么用 sp_oacreate 'adodb.stream',sp_oacreate 'Microsoft.XMLHTTP'
andyliy
2007-01-21 07:54:56
想实现的功能是去网站上下个文件
那个大哥帮个忙
...全文
446
7
打赏
收藏
怎么用 sp_oacreate 'adodb.stream',sp_oacreate 'Microsoft.XMLHTTP'
想实现的功能是去网站上下个文件 那个大哥帮个忙
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjcxc
元老
2007-01-22
打赏
举报
回复
sp_OACreate...
返回的结果最多只能到8000字节, 所以想用它来实现下载文件, 理论上是可以做到的, 但文件一般不太可能才8K这么小吧?
所以不太现实.
fish_yht
2007-01-22
打赏
举报
回复
没接触过
帮顶
关注
happydreamer
2007-01-22
打赏
举报
回复
sp_OACreate等系统储存过程调用File System Object组件来读写
happydreamer
2007-01-22
打赏
举报
回复
参考一下
示例代码:
DECLARE @object int
DECLARE @hr int
DECLARE @src varchar(255), @desc varchar(255)
Declare @tmp int
declare @msg varchar(3000)
SET @msg='Hello. MS SQL Server 2000. I Love you!!!' --这字符串将会被写到SQL Server的安装目录下的Nipsan.Txt文件里面
/* 取得SQL Server的安装路径*/
declare @strPath nvarchar(512)
Exec sp_MSGet_Setup_paths @strPath OUTPUT
Set @strPath=@strPath+'\Nipsan.Txt' --组成文件名
--创建Scripting组件实例
EXEC @hr = sp_OACreate 'Scripting.FileSystemObject', @object OUT
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
RETURN
END
--创建文件
EXEC @hr = sp_OAMethod @object, 'CreateTextFile', @tmp OUTPUT , @strPath
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
--把@msg写到文件里面去
EXEC @hr = sp_OAMethod @tmp, 'Write',NULL, @msg
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
--关闭文件
EXEC @hr = sp_OAMethod @tmp, 'Close',NULL
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
-----------写文件操作Demo完成---------------------------------------------------------------
--打开文件
EXEC @hr = sp_OAMethod @object, 'OpenTextFile', @tmp OUTPUT ,@strPath
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
SET @msg=''
--读文件
EXEC @hr = sp_OAMethod @tmp, 'Read', @msg OUT,3000
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
-----读文件操作Demo完成
SELECT @msg AS RESULT
y_dong119
2007-01-22
打赏
举报
回复
这个因该是应用程序实现吧,数据库好像不行哈
andyliy
2007-01-22
打赏
举报
回复
参考一下
示例代码:
DECLARE @object int
DECLARE @hr int
DECLARE @src varchar(255), @desc varchar(255)
Declare @tmp int
declare @msg varchar(3000)
SET @msg='Hello. MS SQL Server 2000. I Love you!!!' --这字符串将会被写到SQL Server的安装目录下的Nipsan.Txt文件里面
/* 取得SQL Server的安装路径*/
declare @strPath nvarchar(512)
Exec sp_MSGet_Setup_paths @strPath OUTPUT
Set @strPath=@strPath+'\Nipsan.Txt' --组成文件名
--创建Scripting组件实例
EXEC @hr = sp_OACreate 'Scripting.FileSystemObject', @object OUT
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
RETURN
END
--创建文件
EXEC @hr = sp_OAMethod @object, 'CreateTextFile', @tmp OUTPUT , @strPath
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
--把@msg写到文件里面去
EXEC @hr = sp_OAMethod @tmp, 'Write',NULL, @msg
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
--关闭文件
EXEC @hr = sp_OAMethod @tmp, 'Close',NULL
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
-----------写文件操作Demo完成---------------------------------------------------------------
--打开文件
EXEC @hr = sp_OAMethod @object, 'OpenTextFile', @tmp OUTPUT ,@strPath
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
SET @msg=''
--读文件
EXEC @hr = sp_OAMethod @tmp, 'Read', @msg OUT,3000
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
-----读文件操作Demo完成
SELECT @msg AS RESULT
这个我看过了,
ReViSion
2007-01-21
打赏
举报
回复
哈哈,帮顶
数据库安全(实战掌握数据库安全风险以及防御策略)
第一章SQL Server:详细讲解SQL Server的角色权限、安全控制、安全性问题、权限管理、数据备份,通过实操渗透数据库获取系统管理员权限的三种方法(xp_cmdshell、
sp
_
oa
create
、沙盒提权)。第二章MySQL:详解讲解...
SQL高级注入使用之储存过程
sql2005恢复xp_cmdshell ...EXEC
sp
_configure 'show advanced options', 1;RECONFIGURE;EXEC
sp
_configure 'xp_cmdshell', 1;RECONFIGURE; 关闭:EXEC
sp
_configure 'show advanced options', 1;RECONFIGURE;E...
利用SQL命令下载文件
DECLARE @B varbinary(8000),@hr int,@
http
INT,@down INT EXEC
sp
_
oa
create
[
Microsoft
.
XML
HTTP
],@
http
output EXEC @hr =
sp
_
oa
method @
http
,[Open],null,[GET],[
http
://192.168.1.178/a.htm],0 ...
SQL存储过程恢复与删除收集
修复法:很通用的,其实碰到 其他126 127的都可以一起修复, 除了xplog70.dll其他的都可以用这命令修复 xp_cmdshell新的恢复办法 第一步先删除: drop procedure
sp
_addextendedproc ...
Exec OS Command Via MSSQL
渗透测试过程中,大家经常会碰到通过MSSQL来进行提权或执行系统命令之类的操作,通常我们经常会使用xp_cmdshell来进行执行系统命令,但是当xp_cmdshell不能使用的时候,我们还有什么别的方式么?本文将介绍与分享...
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章