<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年2月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728123
    45678910

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網(wǎng)站

    搜索

    •  

    最新評論

    信息來源:酷客天堂
    文章作者:lake2
    Author: lake2 ( http://lake2.0x54.org )
    ? 注:本文發(fā)表于《黑客防線》2006年第2期
    ? 繼WebShell、FTPShell之后,讓我們再來玩玩SQLShell 吧。?
    ?
    使用數(shù)據(jù)庫考慮最多的就是速度和效率,所以呢,數(shù)據(jù)庫系統(tǒng)就使用了存儲過程這種機制來提高速度和效率。SQL Server 2000 支持5種類型的存儲過程,這里我們主要說說SQL Server的擴展存儲過程,因為我們要利用它做后門。?

    ?看看書上對擴展存儲過程的定義:

    ?在SQL Server 2000環(huán)境之外的動態(tài)鏈接庫稱為擴展存儲過程,其前綴是xp_。雖然這些動態(tài)鏈接庫在SQL Server環(huán)境之外,但是它們可以被加載到SQL Server系統(tǒng)中,并按照使用存儲過程的方式執(zhí)行。?

    ?呵呵,最典型的擴展存儲就是SQL Serve自帶那個xp_cmdshell,真是殺人滅口居家旅行必備良藥啊。那個擴展存儲需要sysadmin權(quán)限才能執(zhí)行,一旦執(zhí)行了CMD,那可是MSSQL的權(quán)限哦,而MSSQL是以服務(wù)啟動的,也就是System權(quán)限,嘿嘿,比管理員大叔的權(quán)力還大!
    ?為了安全起見,一般管理員大叔都是刪除了xp_cmdshell過程的,更有甚者直接刪掉帶有xp_cmdshell的文件xplog70.dll。這樣多不好啊,我們沒得玩了。?

    ?我的后門思路就放在擴展存儲過程上面,因為擴展存儲是以dll方式存在,而且那個dll是用C++編寫且可以任意調(diào)用API函數(shù)。這樣我們就可以寫一個執(zhí)行CMD的擴展存儲(最初我是想直接修改xplog70.dll中xp_cmdshell的名字,不過失敗了,在此略過略過)。
    ? 擴展存儲過程可在VC里創(chuàng)建。創(chuàng)建擴展存儲過程的工程之后,VC會自動生成一個擴展存儲過程模板,稍稍看看,你就很容易上手了(MS真是想得周到啊)。?

    ?這里我主要是去掉了返回值,增加了一個ShellExecute函數(shù)用于執(zhí)行cmd。ShellExecute函數(shù)可是一個比較有用的函數(shù),它可以根據(jù)后綴自動選擇相關(guān)聯(lián)的程序打開文件。?

    ? 以下是其用法:

    ? HINSTANCE ShellExecute(
    ? HWND hwnd,
    ? LPCTSTR lpOperation,
    ? LPCTSTR lpFile,
    ? LPCTSTR lpParameters,
    ? LPCTSTR lpDirectory,
    ? INT nShowCmd
    );
    ?

    ? 第一個參數(shù)是句柄,在這里不用;第二個參數(shù)是對文件的動作,這里選“open”;第三個參數(shù)是執(zhí)行的文件,這里自然是cmd.exe了;第四個參數(shù)是命令行參數(shù),這個填程序接收到的參數(shù);第五個參數(shù)是默認(rèn)目錄,把它空著;最后一個參數(shù)是程序運行時的顯示方式,MSSQL都是以服務(wù)啟動的,這里即使是最大化顯示管理員大叔也是看不到的。
    ? 好了,所以我們的函數(shù)使用為:

    ShellExecute(0,"open","cmd.exe",spParam,NULL,SW_SHOW);?

    ?spParam是從擴展存儲過程得到的參數(shù),具體的實現(xiàn)請看源代碼;擴展存儲的編寫請參閱MSDN。
    ?ShellExecute有個壞處就是看不到回顯,不過這里把權(quán)限拿到了,不要回顯也無所謂。當(dāng)然你也可以自己寫個顯示回顯的擴展存儲過程。
    ?Ok,擴展存儲命名為xp_lake2,dll文件名為xplake2.dll,現(xiàn)在讓我們把它注冊到SQL Server:

    USE master
    EXEC sp_addextendedproc 'xp_lake2', 'xplake2.dll'?

    ?注意,添加擴展存儲過程要求連接SQL Server的帳戶有sysadmin權(quán)限;使用相對路徑的話得把dll文件放到SQL Server目錄的binn之下。
    ?好啦,我們可以試試效果了,調(diào)用的參數(shù)跟xp_cmdshell一樣,只是沒有回顯。在查詢分析器里調(diào)用它:
    USE master
    EXEC xp_lake2 'net user > c:\lake2.txt'
    ? 趕快去C盤看看有沒有生成lake2.txt吧!至于權(quán)限嘛,呵呵,當(dāng)然是system啦。
    ? SQL Server的擴展存儲都要求sysadmin才能執(zhí)行,不爽,讓我們給它改改,讓public也可以玩。
    ? 如果拿到圖形界面用企業(yè)管理器就可以輕松搞定,只需把xp_lake2的Exec權(quán)限賦給public就ok了。在查詢分析器里就用GRANT:

    GRANT exec
    On xp_lake2
    TO public?
    ?
    然后換一個普通的SQL Server用戶調(diào)用xp_lake2試試,執(zhí)行命令還是system權(quán)限哦。呵呵,在webshell里試試吧,結(jié)果也一樣的。以下是利用海洋2006調(diào)用這個擴展存儲過程的截圖:


    ? 因為返回的值是空,所以顯示出錯,但是命令是執(zhí)行了的,現(xiàn)在命令行下用net user看看吧:?

    ?
    好啦,文章到此結(jié)束,大家趕緊去留自己的SQLShell吧^_^
    ? dll可以在這里下載到: http://www.0x54.org/lake2/program/xplake2.dll


    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-02-22 10:15 小尋 閱讀(1550) 評論(0)  編輯  收藏 所屬分類: database入侵反入侵
    主站蜘蛛池模板: 日韩高清在线免费看| 成人特黄a级毛片免费视频| 亚洲高清视频一视频二视频三| 亚洲免费网站在线观看| 99在线观看免费视频| 4444亚洲国产成人精品| 99久久99久久精品免费观看 | 亚洲AV无码久久精品蜜桃| 中文字幕在线免费观看视频| 亚洲综合色自拍一区| 97在线观免费视频观看| 亚洲人成黄网在线观看| 大学生a级毛片免费观看| 亚洲AV无码一区二区三区电影 | 日韩成人免费在线| 国产区图片区小说区亚洲区| 亚洲人成人无码网www国产| 免费播放在线日本感人片| 亚洲大片在线观看| 日韩免费精品视频| 99亚洲男女激情在线观看| 国产自偷亚洲精品页65页| 99久在线国内在线播放免费观看 | 亚洲www在线观看| 四虎影视在线永久免费观看| 久久久久久国产a免费观看不卡 | 亚洲激情视频图片| 又黄又爽一线毛片免费观看| A国产一区二区免费入口| 亚洲激情电影在线| 国产人成免费视频| 日本一道本不卡免费| 亚洲人av高清无码| 国产一级片免费看| 亚洲mv国产精品mv日本mv| 亚洲AV无码一区二区三区在线观看| 国产免费一区二区三区免费视频 | 免费人成在线观看视频高潮| 亚洲经典在线中文字幕| 国产传媒在线观看视频免费观看| 七色永久性tv网站免费看|