>  觸發(fā)器權(quán)限和所有權(quán)  CREATETRIGGER權(quán)限默認(rèn)授予定義觸發(fā)器的表所有者、sysadmin固定服務(wù)器角色成員以及db_oin固定數(shù)據(jù)庫(kù)角色成員,并且不可轉(zhuǎn)讓。  需要的環(huán)境  本文">
講解sql server數(shù)據(jù)庫(kù)的觸發(fā)器安全隱患--

講解sql server數(shù)據(jù)庫(kù)的觸發(fā)器安全隱患--

ID:20860441

大?。?1.50 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2018-10-17

講解sql server數(shù)據(jù)庫(kù)的觸發(fā)器安全隱患--_第1頁(yè)
講解sql server數(shù)據(jù)庫(kù)的觸發(fā)器安全隱患--_第2頁(yè)
講解sql server數(shù)據(jù)庫(kù)的觸發(fā)器安全隱患--_第3頁(yè)
資源描述:

《講解sql server數(shù)據(jù)庫(kù)的觸發(fā)器安全隱患--》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)

1、講解SQLServer數(shù)據(jù)庫(kù)的觸發(fā)器安全隱患>>  觸發(fā)器權(quán)限和所有權(quán)  CREATETRIGGER權(quán)限默認(rèn)授予定義觸發(fā)器的表所有者、sysadmin固定服務(wù)器角色成員以及db_oin固定數(shù)據(jù)庫(kù)角色成員,并且不可轉(zhuǎn)讓?! ⌒枰沫h(huán)境  本文需要的環(huán)境是已經(jīng)獲取了sql服務(wù)器的以上其中一個(gè)權(quán)限,目的是為了留下隱蔽的后門,不被管理員發(fā)現(xiàn)。即使發(fā)現(xiàn)了也是加密的(可以破解,不過(guò)有些管理員不懂,也不會(huì)注意,相關(guān)信息google下)。  觸發(fā)器是在對(duì)表進(jìn)行插入(insert)、更新(update)或刪除(delete)操作時(shí),自動(dòng)執(zhí)行的存儲(chǔ)過(guò)程。最常見用于執(zhí)行敏感數(shù)據(jù)操作時(shí)做歷史記錄?! ”疚囊詣?dòng)

2、網(wǎng)論壇dvbbs為例,我們已經(jīng)拿到了db_odshell,就不再本文范圍了,相信讀過(guò)本文后,只要有系統(tǒng)權(quán)限,作個(gè)系統(tǒng)的后門也是簡(jiǎn)單的。先回想一下通常我們使用數(shù)據(jù)庫(kù)時(shí)要做什么和關(guān)心什么。  為什么要使用觸發(fā)器作后門  管理員首先會(huì)把sql文件執(zhí)行下,然后導(dǎo)入mdb的內(nèi)容,平時(shí)使用頂多備份下,還原下。通常不會(huì)有人去看觸發(fā)器的內(nèi)容,查看觸發(fā)器可以使用命令execsp_helptrigger'dv_admin',或者在企業(yè)管理器中選擇管理觸發(fā)器。因?yàn)閯?dòng)網(wǎng)根本沒(méi)有用到觸發(fā)器,也沒(méi)有提到觸發(fā)器,所以動(dòng)網(wǎng)的管理員不會(huì)去看的。于是我們?cè)诶锩鎸懙膬?nèi)容就相對(duì)安全了?! ∷悸贰 ∮|發(fā)器主要是

3、用來(lái)做歷史記錄的,當(dāng)然可以把管理員更改密碼和添加用戶的歷史記錄下。放進(jìn)一個(gè)管理員通常不會(huì)注意的、普通用戶又可以看到的地方?! ?dòng)網(wǎng)的密碼有md5加過(guò)密的,加密的操作是asp程序在服務(wù)器上來(lái)完成的,等數(shù)據(jù)庫(kù)拿到數(shù)據(jù)的時(shí)候已經(jīng)是加過(guò)密的了。但是動(dòng)網(wǎng)同時(shí)把密碼以明文方式放入dv_log表中,就給了我們方便。只要拿到dv_log表中l(wèi)_content字段的內(nèi)容,然后判斷是否管理員在執(zhí)行敏感操作,后門思路就形成了?! ∈褂眠^(guò)程――代碼解析  代碼片斷:創(chuàng)建觸發(fā)器。createtriggerdv_admin_historyonDv_logail,字段類型:nvarchar(255)。汪財(cái)?shù)膃mai

4、l,使用時(shí)需要轉(zhuǎn)換類型。  4、Userinfo,字段類型:text。汪財(cái)?shù)挠脩糍Y料。該字段很特殊,有很多,每一對(duì)之間都有著不同的含義。動(dòng)網(wǎng)很懶的,為了避免字段太多,就把一堆信息全都放入一個(gè)字段里,用分開,當(dāng)查詢某一項(xiàng)信息時(shí),取出來(lái)全部,然后分割下,就是需要的數(shù)據(jù)了?! 〗鉀Q的問(wèn)題:  1、如果都放滿了。  理論上,如果我們看到了第一個(gè)字段有了東西,就應(yīng)該拿筆記下來(lái),然后刪除掉。觸發(fā)器會(huì)自動(dòng)檢查大小后繼續(xù)使用。再次強(qiáng)調(diào)下,本文例子針對(duì)動(dòng)網(wǎng),大家應(yīng)該具體問(wèn)題具體分析。  2、管理員的日志中,有很多日志,怎么判斷它就是在記錄更改密碼?! ≡诠芾韱T操作用戶時(shí),當(dāng)然會(huì)在user.asp或者ad

5、min.asp中操作,所以我們判斷條件需要:  selectpassinfo=l_contentfrominsertedin.asp')  在l_touser為user.asp或者admin.asp時(shí),說(shuō)明管理員在操作(查看,更新,刪除)用戶或者管理員。在l_type=1時(shí),說(shuō)明執(zhí)行了更新操作,l_content字段里面有密碼(如果管理員更新了密碼,或者新建了帳戶)。因此,查詢inserted表中的l_content,賦值給passinfo代碼片斷:更新汪財(cái)?shù)膗sersign字段。if(len(usersign)<150orusersignisnull)beginif(u

6、sersignisnull)setusersign=''setpassinfo=usersign+passinfoupdateDv_Usersetusersign=passinfoe=usernamemittranreturnendend  首次更新時(shí),usersign字段里沒(méi)有內(nèi)容,而SQLServer里null加任何數(shù)都是null,所以需要判斷isnull之后,給null賦值為一個(gè)空格。其他幾個(gè)字段的方法和這里大同小異,只是一個(gè)轉(zhuǎn)換nvarchar和的組合時(shí)多了點(diǎn)。最后判斷如果字段內(nèi)容太多就不再寫了,為了提高性能,也可以把最后的判斷寫在前12下一頁(yè)>>>>這篇文章來(lái)

7、自..,。面,一旦數(shù)據(jù)過(guò)多,就不需要再繼續(xù)執(zhí)行了?! ∈状胃聲r(shí),汪財(cái)?shù)膗sersign字段里沒(méi)有內(nèi)容,而SQLServer里null加任何數(shù)都是null,所以需要判斷isnull之后,給null賦值為一個(gè)空格。其他幾個(gè)字段的方法和這里大同小異,只是一個(gè)轉(zhuǎn)換nvarchar和的組合時(shí)多了點(diǎn)。最后判斷如果字段內(nèi)容太多就不再寫了,為了提高性能,也可以把最后的判斷寫在前面,一旦數(shù)據(jù)過(guò)多,就不需要再繼續(xù)執(zhí)行了。上一頁(yè)12>>>>這篇文章來(lái)自..,。

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。