觸發(fā)器權(quán)限和所有權(quán)
CREATE TRIGGER 權(quán)限默認(rèn)授予定義觸發(fā)器的表所有者、sysadmin 固定服務(wù)器角色成員以及 db_owner 和 db_ddladmin 固定數(shù)據(jù)庫角色成員,并且不可轉(zhuǎn)讓。
需要的環(huán)境
本文需要的環(huán)境是已經(jīng)獲取了sql服務(wù)器的以上其中一個權(quán)限,目的是為了留下隱蔽的后門,不被管理員發(fā)現(xiàn)。即使發(fā)現(xiàn)了也是加密的(可以破解,不過有些管理員不懂,也不會注意,相關(guān)信息google下)。
觸發(fā)器是在對表進(jìn)行插入(insert)、更新(update)或刪除(delete)操作時,自動執(zhí)行的存儲過程。最常見用于執(zhí)行敏感數(shù)據(jù)操作時做歷史記錄。
本文以動網(wǎng)論壇dvbbs為例,我們已經(jīng)拿到了db_owner權(quán)限(注意:并不是說dvbbs本身有漏洞)。因?yàn)橹皇莇b_owner權(quán)限,所以讀者想去執(zhí)行“xp_cmdshell”,就不再本文范圍了,相信讀過本文后,只要有系統(tǒng)權(quán)限,做個系統(tǒng)的后門也是簡單的。先回想一下通常我們使用數(shù)據(jù)庫時要做什么和關(guān)心什么。
為什么要使用觸發(fā)器作后門
管理員首先會把sql文件執(zhí)行下,然后導(dǎo)入mdb的內(nèi)容,平時使用頂多備份下,還原下。通常不會有人去看觸發(fā)器的內(nèi)容,查看觸發(fā)器可以使用命令“exec sp_helptrigger 'dv_admin'”,或者在企業(yè)管理器中選擇“管理觸發(fā)器”。因?yàn)閯泳W(wǎng)根本沒有用到觸發(fā)器,也沒有提到觸發(fā)器,所以動網(wǎng)的管理員不會去看的。于是我們在里面寫的內(nèi)容就相對安全了。
思路
觸發(fā)器主要是用來做歷史記錄的,當(dāng)然可以把管理員更改密碼和添加用戶的歷史記錄下。放進(jìn)一個管理員通常不會注意的、普通用戶又可以看到的地方。
動網(wǎng)的密碼有md5加過密的,加密的操作是asp程序在服務(wù)器上來完成的,等數(shù)據(jù)庫拿到數(shù)據(jù)的時候已經(jīng)是加過密的了。但是動網(wǎng)同時把密碼以明文方式放入dv_log表中,就給了我們方便。只要拿到dv_log表中l(wèi)_content字段的內(nèi)容,然后判斷是否管理員在執(zhí)行敏感操作,后門思路就形成了。
使用過程 主站蜘蛛池模板: 策勒县| 永登县| 黔江区| 钟祥市| 噶尔县| 稻城县| 沂水县| 宁远县| 津南区| 全椒县| 苍南县| 富裕县| 昌邑市| 马山县| 凤台县| 吴桥县| 宕昌县| 青铜峡市| 井陉县| 新津县| 巨鹿县| 钟祥市| 乌兰县| 进贤县| 紫金县| 靖边县| 任丘市| 峡江县| 新河县| 伊金霍洛旗| 岗巴县| 咸阳市| 黔江区| 霞浦县| 昌江| 阳新县| 连南| 沙坪坝区| 张家港市| 文安县| 兴文县|