国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL注入漏洞攻擊研究與實(shí)踐

2020-06-15 16:06魯先志
衛(wèi)星電視與寬帶多媒體 2020年8期
關(guān)鍵詞:漏洞

魯先志

【摘要】sql注入漏洞是web系統(tǒng)中常見的一種漏洞,本文利用一個(gè)實(shí)驗(yàn)案例分析了sql注入漏洞的原理,并給出了防范sql注入漏洞方法。

【關(guān)鍵詞】漏洞;web系統(tǒng);結(jié)構(gòu)化查詢語句

結(jié)構(gòu)化查詢語句(Structured Query Language,縮寫:SQL),是一種特殊的編程語言,用于數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)查詢語言。SQL注入(SQL Injection)是一種常見的Web安全漏洞,攻擊者利用這個(gè)問題,可以訪問或者修改數(shù)據(jù),或者利用潛在的數(shù)據(jù)庫漏洞進(jìn)行攻擊。

SQL注入攻擊是Web安全史上的一個(gè)重要里程碑,它從1999年首次進(jìn)入人們的視線,至今已經(jīng)有十幾年的歷史了,雖然我們現(xiàn)在已經(jīng)有了很全面的防范對策,但是它的威力仍然不容小覷,SQL注入攻擊至今仍然是Web安全領(lǐng)域中的一個(gè)重要組成部分。

1. sql注入漏洞原理

SQL注入是將SQL代碼插入到網(wǎng)站應(yīng)用的參數(shù)之中,通過執(zhí)行sql查詢語句將插入的參數(shù)傳入到系統(tǒng)后臺數(shù)據(jù)庫服務(wù)器解析執(zhí)行的攻擊。SQL注入的主要方式是直接將SQL代碼插入到參數(shù)中,這些參數(shù)會(huì)被置入到SQL命令中加以執(zhí)行,攻擊者能修改SQL語句時(shí),該進(jìn)程將與執(zhí)行命令的組件(數(shù)據(jù)庫服務(wù)器、web服務(wù)器)擁有相同權(quán)限如果開發(fā)人員直接使用SQL語句對提交的查詢進(jìn)行執(zhí)行,或者過濾不嚴(yán)即會(huì)產(chǎn)生SQL注入漏洞。

1.1 造成sql漏洞的原因

①程序開發(fā)人員在處理程序和數(shù)據(jù)庫交互的時(shí)候,使用字符拼接的方法構(gòu)造SQL語句

②程序開發(fā)人員未對用戶可控參數(shù)進(jìn)行足夠的過濾便將參數(shù)內(nèi)容拼接進(jìn)入到SQL語句中

1.2 sql注入漏洞的危害

惡意攻擊者利用SQL注入漏洞,可以獲取數(shù)據(jù)庫中的用戶敏感信息(例如:管理員后臺密碼),為下一步的系統(tǒng)滲透提供幫助。在某些特定情況下,還可以利用sql注入漏洞修改數(shù)據(jù)庫內(nèi)容,如果數(shù)據(jù)庫權(quán)限分配存在問題,或者數(shù)據(jù)庫本身存在缺陷,那么攻擊者可以通過SQL注入漏洞直接獲取應(yīng)用系統(tǒng)的管理員權(quán)限或者服務(wù)器系統(tǒng)權(quán)限。

2. sql漏洞利用實(shí)踐

本文搭建了一個(gè)具有sql漏洞的web應(yīng)用系統(tǒng),通過構(gòu)造帶有惡意參數(shù)的sql查詢語句來實(shí)現(xiàn)對web應(yīng)用系統(tǒng)的滲透。滲透環(huán)境是安裝了harkbar工具的chrom瀏覽器。首先進(jìn)入具體sql漏洞的web系統(tǒng)的網(wǎng)頁。

將地址欄中的url復(fù)制到hackbar的文本框中點(diǎn)擊hackbar中的“Execute”按鈕。訪問目標(biāo)URL,正常顯示。

在URL后添加單引號,網(wǎng)頁報(bào)錯(cuò),系統(tǒng)開發(fā)者沒有正確處理用戶輸入的參數(shù),存在sql注入漏洞的可能。

利用sql語法中的order by語句猜測當(dāng)前sql語句查詢數(shù)據(jù)庫表中的列的數(shù)量。先猜測該表有10列,發(fā)現(xiàn)系統(tǒng)報(bào)錯(cuò)。

進(jìn)一步縮小猜測范圍,通過二分法,當(dāng)字段為3時(shí)order by剛好顯示正常內(nèi)容

通過sql語法中的“UNION”語句獲取該頁面可顯示查詢內(nèi)容能顯示的的位置(輸入一個(gè)錯(cuò)誤的id),圖中“2,3”的位置即可插入常用函數(shù)。

將“2”的位置插入函數(shù)@@datadir獲取網(wǎng)站的數(shù)據(jù)庫所在的路徑。

將“3”的位置插入函數(shù)version()獲取系統(tǒng)的版本號。

進(jìn)一步猜測,將“2”的位置換成user(),“3”的位置換成database(),系統(tǒng)顯示當(dāng)前數(shù)據(jù)庫用戶為sql1,當(dāng)前數(shù)據(jù)庫lab。

對sql語句進(jìn)行拼接,猜測數(shù)據(jù)庫表名“-1union all select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database(),”可知lab數(shù)據(jù)庫下有兩個(gè)表,分別為“flag_normal”和“news”。

對sql語句進(jìn)行拼接,猜測數(shù)據(jù)庫表“flag_normal”中的列名?!癶ttp://www.aaa.com:1234/pentest/sql/1.php?id=-1 union? all select 1,2,group_concat(column_name) from information_schema.columns? where table_name='flag_normal'”

進(jìn)一步對sql語句進(jìn)行拼接,猜測數(shù)據(jù)庫表“flag_normal”中,“type”和“vale”列中的具體內(nèi)容:

“http://www.aaa.com:1234/pentest/sql/1.php?id=-1 union all select 1,type,value from flag_normal”得到系統(tǒng)的用戶名和密碼。需要說明的是存儲在數(shù)據(jù)庫中的密碼絕大部分都是經(jīng)過MD5加密過的,需要對MD5進(jìn)一步揭秘才能獲取明文。

從上文可以看出,通過構(gòu)造攻擊參數(shù)來執(zhí)行程序的sql查詢語句獲得了web系統(tǒng)的用戶名和密碼,惡意滲透者可以利用獲得的關(guān)鍵信息登錄web系統(tǒng),對系統(tǒng)的敏感數(shù)據(jù)進(jìn)行修改或竊取。

3. sql注入漏洞的安全防范、

sql漏洞是web系統(tǒng)中最為普遍的一類漏洞,廣泛存在于早期開發(fā)的web系統(tǒng)中。防范sql漏洞最有效和最直接的方法是在程序開發(fā)階段杜絕可能存在sql利用攻擊的程序代碼,比如盡量利用參數(shù)化的查詢語句。已經(jīng)存在sql漏洞的web系統(tǒng),如果不能修補(bǔ)源代碼的方式來防范,也可以采用web防火墻的方式來防止常規(guī)的sql注入漏洞攻擊。

參考文獻(xiàn):

[1]王德高等.SQL注入攻擊與防范實(shí)驗(yàn)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子世界,2017.54-55

[2]李文鋒,林天峰.SQL注入攻擊[J].計(jì)算機(jī)與網(wǎng)絡(luò),2004.(24)54-55

[3]劉建臣.追根溯源防范SQL注入攻擊[J].信息安全,2019.(08)135-137

作者簡介:魯先志(1976-),男,河南濮陽人,碩士,副教授,研究方向:職業(yè)教育和網(wǎng)絡(luò)安全。

猜你喜歡
漏洞
小心“漏洞”
漏洞在哪里
漏洞在哪兒?
偵探推理游戲(二)
QQ瀏覽器成黑客攻擊幫手
漏洞在哪兒
從Windows 95就開始的超級漏洞
Windows系統(tǒng)WebDAV提權(quán)漏洞
漏洞一響,黃金萬兩
視頻、Office漏洞相繼爆發(fā)
商水县| 泸州市| 抚宁县| 平罗县| 习水县| 庆元县| 深水埗区| 纳雍县| 依兰县| 务川| 昆山市| 安陆市| 神木县| 法库县| 彭山县| 开阳县| 延川县| 杂多县| 阿勒泰市| 嘉峪关市| 卢龙县| 贵港市| 义马市| 柏乡县| 大英县| 嫩江县| 九龙城区| 铅山县| 杭锦后旗| 册亨县| 朝阳县| 桃江县| 娄烦县| 沂源县| 米脂县| 永和县| 泰顺县| 胶州市| 京山县| 中山市| 淮滨县|