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

PHP下SQL注入攻擊與防范

2019-06-11 11:15:01肖孝楠伍岳王雪梅
現代職業教育·高職高專 2019年3期
關鍵詞:防范措施網絡安全

肖孝楠 伍岳 王雪梅

[摘要]“沒有網絡安全就沒有國家安全”,網絡安全的核心是保護網絡可共享資源的安全。SQL注入攻擊是最常見的一種網絡安全問題,被OWASP列為“十大Web應用系統安全威脅之首”。以DVWA滲透測試平臺,以PHP+Mysql環境為例,介紹SQL注入攻擊的過程和基本原理,最后給出安全防范措施,為防御SQL注入攻擊提供一些方法和手段。雖以PHP環境為例,但對其他編程語言開發的Web程序也有借鑒意義。

[關鍵詞]網絡安全;Web安全;SQL注入;防范措施

[中圖分類號]TP393

[文獻標志碼]A

[文章編號]2096-0603(2019)07-0036-02

在“互聯網+”時代,越來越多的服務在網上完成,越來越多的系統是基于互聯網的Web系統,而其中絕大多數系統需要后臺數據庫支持,數據庫中數據的安全問題則成為重點關注的問題。SQL注入是最常見的一種數據庫安全漏洞,被0WASP(開放式Web應用程序安全項目)列為“十大Web應用系統安全威脅之首”。

一、SQL注入基本原理

(一)SQL注入攻擊的定義

結構化查詢語言簡稱SQL語言,是一種專門用于關系型數據庫的編程語言。SQL注入攻擊主要有兩種形式,一種是將惡意代碼嵌入在正常的SQL語句中,傳遞到后臺數據庫服務器執行,這種攻擊被稱為“直接攻擊”或“一階SQL注入”。另一種是事先將惡意代碼保存到數據庫,在攻擊者第二次請求時響應并攻擊數據庫,這種攻擊稱為“間接攻擊”或“二階SQL注入”。SQL注入具有如下的特性:

(1)廣泛性:任何一個基于SQL語言的數據庫都可能被攻擊,很多開發人員在編寫Web應用程序時未對從輸入參數、Web表單、cookie等接受到的值進行規范性驗證和檢測,通常會出現SQL注入漏洞。

(2)隱蔽性:SQL注入語句一般都嵌人在普通的HTTP請求中,很難與正常語句區分開,所以當前許多防火墻都無法識別予以警告,而且SQL注入變種極多,攻擊者可以調整攻擊的參數,所以使用傳統的方法防御SQL注入效果非常不理想。

(3)危害大:攻擊者通過SQL注入獲取到服務器的庫名、表名、字段名,從而獲取到整個服務器中的數據,對網站用戶的數據安全有極大的威脅。攻擊者也可以通過獲取到的數據,得到后臺管理員的密碼,然后對網頁頁面進行惡意篡改。這樣不僅對數據庫信息安全造成嚴重威脅,對整個數據庫系統安全也影響重大。

(4)操作方便:互聯網上有很多SQL注入工具,簡單易學,攻擊過程簡單,不需要專業知識也能自如運用。

(二)案例演示

下面使用DVWA(Damn Vulnerable W eb Application)演示SQL注入過程,系統環境為PHP+Mysql。

1.正常輸入

我們先進行一次正常查詢,在BH框中輸入1,預期顯示BH為1的用戶信息,如圖1所示。查看源碼為:$querySQL=“select*from tab_user where bh={$bh}”,構造語句為:“select * from tab_userwherebh=1”。這是正常輸入,輸出的結果與預期相符。

2.獲取查詢結果列數

SQL語句中加入order by子句,可以檢測查詢結果中包含多少列。如圖2所示,輸入:“1 or3=3 order by 1 #”,此語句where查詢條件中邏輯或一個3=3的恒等式,所以不管表中是否有BH為1的用戶,都能夠查詢成功。繼續輸入“1 or 3=3 order by 2#”,“1or3=3orderby3#”,按照第一二列和第三列排序,語句執行正常,說明查詢結果中至少包含三列;輸入“1 or 3=3 order by 4#”,語句執行失敗,說明結果列的數量只有三列。

3.獲取當前數據庫

輸入“1 union select 2,2,database()#”,其中database()函數可以返回當前數據庫名,輸出結果如圖3所示,可以看到當前數據庫為“injection。

4.獲取數據庫中的表

輸入:“1 union select 2,2,group_concat(table_name)frominformation_schema.tables where table_schema=database()#”,提交后屏幕上顯示當前數據庫中有兩個表,表名為tab_user和test。

5.獲取表中字段

輸入:“1 union select 2,2,group_concat(column_name)frominformation_schema.columns where table_name=‘tab_user #”,提交后在看到tab_user表包含的三列,分別為bh,name,password。

6.獲取表中數據

輸入:“1 union select 2,group_concat(BH,name),group_concat(password)from tab_user #”,即可以查詢出tab_user表中的用戶名和密碼這些重要數據,結果如圖4所示。

二SQL注入防范措施

SQL注入攻擊方式很多,在這個案例中我們使用簡單的SQL注入攻擊手段輕松獲得數據庫中未授權的信息,可見SQL注入攻擊危害極大。如何防止或減輕SQL注入攻擊?當然“防患于未然是最好的策略,下面從多個角度介紹一些SQL注入攻擊的防范措施。

(一)數據庫服務器端防范措施

1.數據庫服務器做好加固,安裝防火墻,及時打補丁,使用最低權限賬號運行數據庫。

2.修改一些數據庫端默認配置,比如oracle數據庫中數據庫鏈能夠被遠程訪問,應該將其從普通賬戶中移除。

3.刪除系統安裝時的默認賬戶,重新創建賬戶,根據應用定制賬戶,每個賬戶只授予最小權限。

4.隔離用戶登錄,將查詢權限與增、刪、改權限分別用不同的賬戶來實現,使每個登錄權限僅僅具有其功能所必需的數據庫訪問權限。

5.撤銷public權限,不使用“grant…to public”語句進行授權,精確授權。

6.刪除危險的系統存儲過程、函數,比如SQL SERVER中的xp_cmdshell、sp_configure 等。

7.使用數據庫端編程,自定義存儲過程或自定義函數,并且給某些用戶只授予execute權限,前端程序只能通過調用存儲過程或者函數來訪問數據庫。

8.對傳入存儲過程的參數進行有效性驗證,避免數據成為SQL控制流的一部分。

9.口令等敏感數據不能直接存儲在數據庫中,最好是存儲口令的加鹽哈希。其他關鍵數據也都使用強加密技術進行存儲。

10.避免明顯的對象名。比如表中存密碼的列名定義為password,pwd,pass等,這是個安全隱患。

(二)Web服務器端防范措施

1.安裝Web應用防火墻,關閉不需要的端口和權限,設置安全目錄保護重要文件。

2.使用獨立的主機做服務器,避免與數據庫服務器部署在同一臺主機上。

3.提高Web日志詳細程度,定期查看日志。

4.使用空的默認Web站點,查詢請求未找到匹配值,則默認跳轉到該站點。

(三)Web前端程序防范措施

1.驗證每一個輸入值,對用戶請求的數據進行過濾。

2.封裝輸入校驗類,對輸入項校驗通過后,再用于構造動態SQL語句。

3.使用預編譯的SQL語句綁定變量,使攻擊者無法改變SQL語句的結構。如:

$stmt=$conn?prepare(“INSERT INTO MyUsers(XM,id,adr)VALUES(?,?,?)”);

$stmt?bind_param(“qaz”,$id,$adr)。

4.使用參數化語句,避免在前端構造動態SQL。

5.檢查數據類型。

6.隱藏不必要的錯誤信息。

7.輸入的內容用其他控件產生,比如密碼通過軟鍵盤輸入,動態寫人頁面。

三、結語

SQL注入是一種常見的攻擊手段,危害極大。本文通過案例演示介紹SQL注入攻擊的過程,并總結了常用的防范措施,有助于一定程度上減輕SQL注入的危害,具有一定的應用價值。

隨著技術的發展,SQL注入的漏洞也在更新,SQL注入攻擊技術也在發展,它的隱蔽性和攻擊性更強。所以隨著新技術的不斷出現,SQL注入漏洞的研究也要不斷深入。

參考文獻:

[1]黃芳,蘇桂蓮.Web應用中SQL注入攻擊與防范探析[J].軟件導刊,2012,1(11):137-138.

[2]唐林.數據庫SQL注入技術及其防護[J].湖北函授大學學報,2014(10):104-105.

[3]吳宗卓.SQL注入防御技術研究與實現[J]電子測試,2015(21):81-82.

猜你喜歡
防范措施網絡安全
網絡安全知多少?
工會博覽(2023年27期)2023-10-24 11:51:28
網絡安全
網絡安全人才培養應“實戰化”
上網時如何注意網絡安全?
網絡支付風險及其防范措施
消費導刊(2017年20期)2018-01-03 06:27:22
網絡監聽的防范措施
電子制作(2017年20期)2017-04-26 06:58:02
PPP項目中的常見風險識別及防范措施
略論股權眾籌的風險和防范措施
山西農經(2016年5期)2016-02-28 14:24:41
我國擬制定網絡安全法
聲屏世界(2015年7期)2015-02-28 15:20:13
水電站現地控制單元開關量輸出誤動防范措施探討
主站蜘蛛池模板: 美女被操91视频| 精品国产欧美精品v| 国产精品美乳| 亚洲国产精品成人久久综合影院 | 久久无码av三级| 亚洲视屏在线观看| 亚洲三级色| 亚洲精品制服丝袜二区| 亚洲国内精品自在自线官| 国产拍揄自揄精品视频网站| 亚洲视频无码| 午夜老司机永久免费看片| 成人av手机在线观看| 国产第一页屁屁影院| 国产精品综合色区在线观看| 91网红精品在线观看| 国产成人高清在线精品| 亚洲妓女综合网995久久| 国产成人精品一区二区免费看京| 亚洲人成网18禁| 超薄丝袜足j国产在线视频| 国产97视频在线观看| 高清免费毛片| 精品视频第一页| 亚洲精品午夜天堂网页| 国产精品3p视频| 色偷偷男人的天堂亚洲av| 日韩大乳视频中文字幕| 狼友av永久网站免费观看| 久久狠狠色噜噜狠狠狠狠97视色| 五月天香蕉视频国产亚| 激情五月婷婷综合网| 亚洲天堂首页| 国产午夜人做人免费视频| 亚洲高清国产拍精品26u| 日韩av高清无码一区二区三区| 久久久黄色片| 国产精品护士| 国产精品网址在线观看你懂的| 国产乱人免费视频| 免费高清毛片| 国内精品小视频福利网址| 在线观看免费黄色网址| 18黑白丝水手服自慰喷水网站| 亚洲欧美在线看片AI| 欧美精品成人一区二区在线观看| 日韩av无码DVD| 国产SUV精品一区二区6| 欧美日韩一区二区在线免费观看| 久久精品娱乐亚洲领先| 久久国产黑丝袜视频| 好吊妞欧美视频免费| 亚洲天堂在线免费| 午夜影院a级片| 婷婷激情亚洲| 五月天久久婷婷| 91娇喘视频| 亚洲成人动漫在线观看| 婷五月综合| 国产激情无码一区二区免费| 日本精品视频一区二区| 制服丝袜国产精品| 亚洲男人的天堂视频| 国产网站一区二区三区| 精品久久久久久中文字幕女| 欧美激情一区二区三区成人| 四虎成人精品在永久免费| 国产在线97| 自拍偷拍一区| 亚洲a免费| 中文字幕调教一区二区视频| 亚洲天堂久久新| 青青操视频在线| 天堂亚洲网| 久久99国产乱子伦精品免| 亚洲欧美一级一级a| 亚洲电影天堂在线国语对白| 色婷婷在线影院| 99热这里只有精品在线观看| 一本一本大道香蕉久在线播放| 白浆免费视频国产精品视频 | 国产拍揄自揄精品视频网站|