亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Web應(yīng)用SQL注入漏洞檢測工具的設(shè)計與實現(xiàn)

        2014-08-27 09:40:57張鑫張婷段新東林玉香
        網(wǎng)絡(luò)空間安全 2014年8期

        張鑫+++張婷+++段新東+++林玉香

        【 摘 要 】 由于Web應(yīng)用系統(tǒng)的開發(fā)周期較短,同時開發(fā)人員安全編程意識不足,Web應(yīng)用程序會存在漏洞。因此,檢測Web應(yīng)用系統(tǒng)的安全性是安全領(lǐng)域的亟待解決的問題。SQL注入漏洞檢測工具模擬黑客攻擊的方式,采用網(wǎng)絡(luò)爬蟲技術(shù)建立需檢測的URL庫,依據(jù)SQL注入模板精心構(gòu)造URL,并從根據(jù)瀏覽器返回信息,判定是否存在SQL注入點??梢蕴崆耙庾R到Web應(yīng)用存在的漏洞,并及時修補,降低系統(tǒng)受攻擊的風(fēng)險,是有效的Web安全防護手段。

        【 關(guān)鍵詞 】 SQL注入;漏洞檢測;Web安全

        【 中圖分類號 】 TP311

        1 引言

        采用B/S架構(gòu),并通過HTTP或HTTPS協(xié)議提供訪問的應(yīng)用服務(wù)統(tǒng)稱為Web應(yīng)用。目前,幾乎所有政府、通信、證券、銀行以及電子商務(wù)都支持在線交易和查詢服務(wù),包括個人賬戶、用戶信息、交易記錄等在內(nèi)的用戶的敏感信息,都通過Web應(yīng)用系統(tǒng)存儲在數(shù)據(jù)庫中,一旦數(shù)據(jù)被盜取或篡改,都會造成巨大損失。為降低系統(tǒng)受攻擊的風(fēng)險,可利用Web應(yīng)用安全漏洞掃描技術(shù),可以實現(xiàn)在線的Web應(yīng)用健康檢查,提醒網(wǎng)站管理員進行修補,是效果好的Web安全防護手段。

        2 Web 應(yīng)用中常見漏洞攻擊

        Web 應(yīng)用大多涉及服務(wù)器端的動態(tài)處理,同時,開發(fā)人員可能在開發(fā)過程中疏忽參數(shù)的輸入檢查,因此會出現(xiàn)各種Web 應(yīng)用安全問題,會產(chǎn)生相關(guān)漏洞,例如文件包含漏洞,目錄遍歷漏洞,信息泄露漏洞和SQL 注入漏洞給攻擊者留下可乘之機。

        由于SQL 注入漏洞利用Web應(yīng)用開放的端口,通常防火墻等設(shè)備無法檢測到,所以其隱蔽性高,如果攻擊者不留下痕跡,或者管理員沒有查看數(shù)據(jù)庫日志的習(xí)慣,基本不會發(fā)現(xiàn)。

        根據(jù)美國國家漏洞數(shù)據(jù)庫(NVD)的統(tǒng)計,SQL注入在針對Web應(yīng)用攻擊手段中名列榜首,是互聯(lián)網(wǎng)危害最大的安全漏洞。SQL注入攻擊的幾個過程。

        (1)判斷Web應(yīng)用是否可以進行SQL注入。如果URL僅是對靜態(tài)網(wǎng)頁的訪問,不存在SQL注入問題。只有存在數(shù)據(jù)庫動態(tài)查詢請求的URL,才可能存在SQL注入,如:http://www.***.cn/web.jsp?id=36,其中id=36表示數(shù)據(jù)庫查詢變量。

        (2)尋找SQL注入點。完成帶參URL的查找后,通過構(gòu)造一些特殊SQL語句,替換原有的URL參數(shù)值,再根據(jù)瀏覽器返回信息,判斷該URL是否為SQL注入點。

        (3)猜解用戶名和密碼。軟件開發(fā)人員設(shè)計的數(shù)據(jù)庫表名、字段名通常是有規(guī)律可循的。通過構(gòu)建SQL語句在數(shù)據(jù)庫中查找表名、字段名、用戶名和密碼的長度等內(nèi)容。

        (4)尋找Web系統(tǒng)管理后臺入口。通常Web系統(tǒng)后臺管理的界面不向普通用戶開放,要尋找到后臺的登錄路徑,可以利用掃描工具,測試可能的后臺入口地址進行。

        (5)實施入侵和破壞。成功登錄管理系統(tǒng)后,接下來就可以任意進行讀寫,篡改網(wǎng)頁、木馬上傳、修改、泄漏用戶信息等,并進一步入侵數(shù)據(jù)庫服務(wù)器。

        由于大多數(shù)Web應(yīng)用檢測軟件成本較高,不適合中小型網(wǎng)站,所以需要一種簡單方便的網(wǎng)站檢測服務(wù)。該漏洞檢測工具針對MySQL數(shù)據(jù)庫服務(wù)器,對用戶提交的URL進行安全檢測,對漏洞劃分不同的危險等級,發(fā)現(xiàn)問題后顯示危險URL,不顯示其他敏感信息。

        3 SQL注入漏洞檢測工具的設(shè)計

        3.1 SQL注入漏洞檢測方法

        可以采用模仿黑客攻擊的方法來檢測是否存在SQL注入漏洞,與SQL注入攻擊的步驟類似,如圖1所示。

        (1)在檢測過程中,采用網(wǎng)絡(luò)爬蟲技術(shù),先將整個網(wǎng)站的所有網(wǎng)頁抓取完成。將重復(fù)的 URL以及鏈接到被檢測網(wǎng)站外的URL剔除后,存入網(wǎng)頁URL數(shù)據(jù)庫。

        (2)訪問網(wǎng)頁URL的數(shù)據(jù)庫,獲得一條URL。

        (3)對網(wǎng)頁URL數(shù)據(jù)庫中存儲的URL進行檢測,檢測的步驟同攻擊過程。為了提高檢測的效率,采用模板參數(shù)填充的方法??尚枰鶕?jù)實際情況對表1所示的SQL 注入模板的參數(shù)進行填充,以構(gòu)成可執(zhí)行的SQL攻擊語句。其中u表示URL;%s表示SQL語句的條件部分;~u表示將URL中SQL語句的條件取反。如果構(gòu)建的SQL語句未通過URL檢測,那么該URL不存在SQL注入漏洞,轉(zhuǎn)步驟2。如果構(gòu)建的SQL語句通過URL檢測,那么存在SQL注入漏洞,轉(zhuǎn)步驟4。

        (4)以MySQL4及以上版本為例,列出檢測信息。構(gòu)建SQL語句,進一步獲取基本信息,猜解數(shù)據(jù)和列名,并讀取和寫入文件。

        (5)如果網(wǎng)頁URL的數(shù)據(jù)庫的每一條URL都檢測過后,算法終止。

        3.2 整體架構(gòu)圖

        注入漏洞檢測工具的基礎(chǔ)構(gòu)架如圖2所示。分為三個功能模塊:(1)網(wǎng)絡(luò)爬蟲:創(chuàng)建網(wǎng)頁URL數(shù)據(jù)庫;(2)SQL注入檢測引擎:采用圖2所示的流程進行SQL注入漏洞檢測;(3)公共組件:支持前兩個模塊相應(yīng)功能的實現(xiàn)。

        4 SQL注入檢測引擎的實現(xiàn)

        4.1 SQL注入漏洞掃描

        1)構(gòu)造不同類型的payload:參照表2所示的SQL 注入模板的參數(shù)對URL進行填充。

        2)根據(jù)http response來判斷是否存在注入點:根據(jù)參數(shù)m_HttpUrl從指定的URL得到相應(yīng)的返回內(nèi)容;獲取或設(shè)置用于向 Internet Http資源的請求進行身份驗證的網(wǎng)絡(luò)憑據(jù),并使用正則表達式("

        3)分析具體的注入類型:根據(jù)不同的注入類型構(gòu)造不同的URL。

        4.2 猜解數(shù)據(jù)與列名表名

        1)獲取數(shù)據(jù)庫的基本信息

        MySQL4及以上版本支持union查詢,可以通過折半查找,逐步猜解信息。用到的內(nèi)置函數(shù)如下:(1)VERSION():獲得當(dāng)前的數(shù)據(jù)庫版本信息;(2)USER():獲得當(dāng)前的數(shù)據(jù)庫用戶名;(3)DATABASE():獲得當(dāng)前數(shù)據(jù)庫名;(4)PASSWORD():獲得相關(guān)用戶的密碼。獲取數(shù)據(jù)庫的基本信息如圖4所示。

        2)猜解表名

        在MySQL4及以上版本中,可在注入點URL后添加如下代碼:and(select count(*)from table_name)>0。如果返回正常,那么說明數(shù)據(jù)表的名字是存在的,否則不存在。

        3)猜解列名

        在MySQL4及以上版本中,可在SQL注入點URL后添加如下代碼:and (select count(column_name)from table_name)>0。如果返回正常,那么列名是正確的,否則反之。把常見列名保存在一個文本文檔中,猜解時打開,構(gòu)造URL進行猜解,遍歷所有字段名。猜解數(shù)據(jù)與列名表名如圖5所示。

        4.3 讀取和寫入文件

        1)利用函數(shù)load_file()讀取文件,為避開單引號,使用16進制表示文件路徑。2)利用函數(shù)into outfile() 實現(xiàn)寫文件的功能。

        5 結(jié)束語

        SQL注入漏洞檢測工具通過構(gòu)造HTTP協(xié)議請求,獲取服務(wù)器響應(yīng)信息,分析網(wǎng)絡(luò)頁面信息,來分析檢測??梢詭椭芾韱T更好的管理網(wǎng)站,可立刻查詢URL的各項記錄,并顯示上次掃描時間,同時標(biāo)明漏洞類型,能更直觀的了解網(wǎng)站的安全狀況。管理員可以根據(jù)這些信息對網(wǎng)站進行整修,填補漏洞,使網(wǎng)站更加安全。但是在SQL注入檢測引擎的運行時會存在一定延時,并只針對SQL注入漏洞進行檢查,因此,會進一步豐富掃描知識庫,并開展更多類型漏洞(如XSS漏洞、危險端口預(yù)警、敏感目錄檢測、蜘蛛屏蔽掃描等)的研究工作,使其更高效準(zhǔn)確地為用戶提供服務(wù)。

        參考文獻

        [1] 楊林,楊勇.Web應(yīng)用漏洞攻擊分析及防御實現(xiàn)[J].中國教育網(wǎng)絡(luò),2011,Z1:79-82.

        [2] National Vulnerability Database National vulnerability database(NVD) CVE.statistics[EB/OL].http://web.nvd.nist.gov/view/vuln/statistics-results.

        [3] 彭賡,范明鈺.基于改進網(wǎng)絡(luò)爬蟲技術(shù)的SQL注入漏洞檢測[J].計算機應(yīng)用研究,2010,27(07):2605-2607.

        [4] 張令通,羅森林.SQL盲注入快速攻擊方法研究[J].信息網(wǎng)絡(luò)安全,2013,05:15-18.

        [5] 蘇忠,林闖,封富君等.無線傳感器網(wǎng)絡(luò)密鑰管理的方案和協(xié)議[J].軟件學(xué)報, 2007, 18(5):1218-1231.

        [6] 馬凱,蔡皖東,姚燁.Web2.0環(huán)境下SQL注入漏洞注入點提取方法[J].計算機技術(shù)與發(fā)展,23(3):121-128.

        基金項目:

        河南省科技計劃項目(142300410108);河南省教育廳科學(xué)技術(shù)研究重點項目基礎(chǔ)研究(14A520056);南陽師范學(xué)院校級項目(QN2013047)。

        作者簡介:

        張鑫(1985-),男,河北石家莊人,碩士,講師;主要研究方向和關(guān)注領(lǐng)域:信息安全、網(wǎng)絡(luò)安全與攻防。endprint

        MySQL4及以上版本支持union查詢,可以通過折半查找,逐步猜解信息。用到的內(nèi)置函數(shù)如下:(1)VERSION():獲得當(dāng)前的數(shù)據(jù)庫版本信息;(2)USER():獲得當(dāng)前的數(shù)據(jù)庫用戶名;(3)DATABASE():獲得當(dāng)前數(shù)據(jù)庫名;(4)PASSWORD():獲得相關(guān)用戶的密碼。獲取數(shù)據(jù)庫的基本信息如圖4所示。

        2)猜解表名

        在MySQL4及以上版本中,可在注入點URL后添加如下代碼:and(select count(*)from table_name)>0。如果返回正常,那么說明數(shù)據(jù)表的名字是存在的,否則不存在。

        3)猜解列名

        在MySQL4及以上版本中,可在SQL注入點URL后添加如下代碼:and (select count(column_name)from table_name)>0。如果返回正常,那么列名是正確的,否則反之。把常見列名保存在一個文本文檔中,猜解時打開,構(gòu)造URL進行猜解,遍歷所有字段名。猜解數(shù)據(jù)與列名表名如圖5所示。

        4.3 讀取和寫入文件

        1)利用函數(shù)load_file()讀取文件,為避開單引號,使用16進制表示文件路徑。2)利用函數(shù)into outfile() 實現(xiàn)寫文件的功能。

        5 結(jié)束語

        SQL注入漏洞檢測工具通過構(gòu)造HTTP協(xié)議請求,獲取服務(wù)器響應(yīng)信息,分析網(wǎng)絡(luò)頁面信息,來分析檢測。可以幫助管理員更好的管理網(wǎng)站,可立刻查詢URL的各項記錄,并顯示上次掃描時間,同時標(biāo)明漏洞類型,能更直觀的了解網(wǎng)站的安全狀況。管理員可以根據(jù)這些信息對網(wǎng)站進行整修,填補漏洞,使網(wǎng)站更加安全。但是在SQL注入檢測引擎的運行時會存在一定延時,并只針對SQL注入漏洞進行檢查,因此,會進一步豐富掃描知識庫,并開展更多類型漏洞(如XSS漏洞、危險端口預(yù)警、敏感目錄檢測、蜘蛛屏蔽掃描等)的研究工作,使其更高效準(zhǔn)確地為用戶提供服務(wù)。

        參考文獻

        [1] 楊林,楊勇.Web應(yīng)用漏洞攻擊分析及防御實現(xiàn)[J].中國教育網(wǎng)絡(luò),2011,Z1:79-82.

        [2] National Vulnerability Database National vulnerability database(NVD) CVE.statistics[EB/OL].http://web.nvd.nist.gov/view/vuln/statistics-results.

        [3] 彭賡,范明鈺.基于改進網(wǎng)絡(luò)爬蟲技術(shù)的SQL注入漏洞檢測[J].計算機應(yīng)用研究,2010,27(07):2605-2607.

        [4] 張令通,羅森林.SQL盲注入快速攻擊方法研究[J].信息網(wǎng)絡(luò)安全,2013,05:15-18.

        [5] 蘇忠,林闖,封富君等.無線傳感器網(wǎng)絡(luò)密鑰管理的方案和協(xié)議[J].軟件學(xué)報, 2007, 18(5):1218-1231.

        [6] 馬凱,蔡皖東,姚燁.Web2.0環(huán)境下SQL注入漏洞注入點提取方法[J].計算機技術(shù)與發(fā)展,23(3):121-128.

        基金項目:

        河南省科技計劃項目(142300410108);河南省教育廳科學(xué)技術(shù)研究重點項目基礎(chǔ)研究(14A520056);南陽師范學(xué)院校級項目(QN2013047)。

        作者簡介:

        張鑫(1985-),男,河北石家莊人,碩士,講師;主要研究方向和關(guān)注領(lǐng)域:信息安全、網(wǎng)絡(luò)安全與攻防。endprint

        MySQL4及以上版本支持union查詢,可以通過折半查找,逐步猜解信息。用到的內(nèi)置函數(shù)如下:(1)VERSION():獲得當(dāng)前的數(shù)據(jù)庫版本信息;(2)USER():獲得當(dāng)前的數(shù)據(jù)庫用戶名;(3)DATABASE():獲得當(dāng)前數(shù)據(jù)庫名;(4)PASSWORD():獲得相關(guān)用戶的密碼。獲取數(shù)據(jù)庫的基本信息如圖4所示。

        2)猜解表名

        在MySQL4及以上版本中,可在注入點URL后添加如下代碼:and(select count(*)from table_name)>0。如果返回正常,那么說明數(shù)據(jù)表的名字是存在的,否則不存在。

        3)猜解列名

        在MySQL4及以上版本中,可在SQL注入點URL后添加如下代碼:and (select count(column_name)from table_name)>0。如果返回正常,那么列名是正確的,否則反之。把常見列名保存在一個文本文檔中,猜解時打開,構(gòu)造URL進行猜解,遍歷所有字段名。猜解數(shù)據(jù)與列名表名如圖5所示。

        4.3 讀取和寫入文件

        1)利用函數(shù)load_file()讀取文件,為避開單引號,使用16進制表示文件路徑。2)利用函數(shù)into outfile() 實現(xiàn)寫文件的功能。

        5 結(jié)束語

        SQL注入漏洞檢測工具通過構(gòu)造HTTP協(xié)議請求,獲取服務(wù)器響應(yīng)信息,分析網(wǎng)絡(luò)頁面信息,來分析檢測??梢詭椭芾韱T更好的管理網(wǎng)站,可立刻查詢URL的各項記錄,并顯示上次掃描時間,同時標(biāo)明漏洞類型,能更直觀的了解網(wǎng)站的安全狀況。管理員可以根據(jù)這些信息對網(wǎng)站進行整修,填補漏洞,使網(wǎng)站更加安全。但是在SQL注入檢測引擎的運行時會存在一定延時,并只針對SQL注入漏洞進行檢查,因此,會進一步豐富掃描知識庫,并開展更多類型漏洞(如XSS漏洞、危險端口預(yù)警、敏感目錄檢測、蜘蛛屏蔽掃描等)的研究工作,使其更高效準(zhǔn)確地為用戶提供服務(wù)。

        參考文獻

        [1] 楊林,楊勇.Web應(yīng)用漏洞攻擊分析及防御實現(xiàn)[J].中國教育網(wǎng)絡(luò),2011,Z1:79-82.

        [2] National Vulnerability Database National vulnerability database(NVD) CVE.statistics[EB/OL].http://web.nvd.nist.gov/view/vuln/statistics-results.

        [3] 彭賡,范明鈺.基于改進網(wǎng)絡(luò)爬蟲技術(shù)的SQL注入漏洞檢測[J].計算機應(yīng)用研究,2010,27(07):2605-2607.

        [4] 張令通,羅森林.SQL盲注入快速攻擊方法研究[J].信息網(wǎng)絡(luò)安全,2013,05:15-18.

        [5] 蘇忠,林闖,封富君等.無線傳感器網(wǎng)絡(luò)密鑰管理的方案和協(xié)議[J].軟件學(xué)報, 2007, 18(5):1218-1231.

        [6] 馬凱,蔡皖東,姚燁.Web2.0環(huán)境下SQL注入漏洞注入點提取方法[J].計算機技術(shù)與發(fā)展,23(3):121-128.

        基金項目:

        河南省科技計劃項目(142300410108);河南省教育廳科學(xué)技術(shù)研究重點項目基礎(chǔ)研究(14A520056);南陽師范學(xué)院校級項目(QN2013047)。

        作者簡介:

        張鑫(1985-),男,河北石家莊人,碩士,講師;主要研究方向和關(guān)注領(lǐng)域:信息安全、網(wǎng)絡(luò)安全與攻防。endprint

        午夜免费观看日韩一级片| 亚洲自拍另类欧美综合| 噜噜噜色97| 在线a亚洲视频播放在线观看| 国产欧美日韩专区毛茸茸| 久久人妻少妇中文字幕| 国产精品后入内射日本在线观看| 91色老久久偷偷精品蜜臀懂色| 免费黄色影片| 国内a∨免费播放| 麻豆91免费视频| 国产高清在线91福利| 亚洲精品中文有码字幕| 一区二区三区日韩蜜桃| 中国妇女做爰视频| 国产成人无码免费视频在线 | 精品国产精品久久一区免费式| 在线视频 亚洲精品| 亚洲精品中文字幕乱码人妻| 视频国产自拍在线观看| 久久久久国产精品| 久久久久99精品国产片| 妞干网中文字幕| 免费女女同黄毛片av网站| 欧美做受又硬又粗又大视频| 双乳被一左一右吃着动态图| 99RE6在线观看国产精品| 国产亚洲曝欧美不卡精品| 国产一区二区a毛片色欲| 免费人成网站在线播放| 亚洲女同恋av中文一区二区| 国产婷婷色一区二区三区| 亚洲熟伦熟女新五十路熟妇| 91综合久久婷婷久久| 少妇被爽到高潮喷水免费福利| 人人妻人人狠人人爽天天综合网| 日韩高清毛片| 日本一区二区亚洲三区| 极品粉嫩小仙女高潮喷水操av| 日韩成人无码| 黑人性受xxxx黑人xyx性爽|