• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

    魯先志

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

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

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

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

    1. sql注入漏洞原理

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

    1.1 造成sql漏洞的原因

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

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

    1.2 sql注入漏洞的危害

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

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

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

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

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

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

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

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

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

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

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

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

    對(duì)sql語(yǔ)句進(jìn)行拼接,猜測(cè)數(shù)據(jù)庫(kù)表“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)一步對(duì)sql語(yǔ)句進(jìn)行拼接,猜測(cè)數(shù)據(jù)庫(kù)表“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)的用戶名和密碼。需要說(shuō)明的是存儲(chǔ)在數(shù)據(jù)庫(kù)中的密碼絕大部分都是經(jīng)過(guò)MD5加密過(guò)的,需要對(duì)MD5進(jìn)一步揭秘才能獲取明文。

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

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

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

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

    猜你喜歡
    漏洞
    漏洞
    網(wǎng)絡(luò)安全漏洞管理與漏洞情報(bào)庫(kù)建設(shè)方案探討及研究
    漏洞在哪里
    基于selenium的SQL注入漏洞檢測(cè)方法
    電子制作(2019年11期)2019-07-04 00:34:40
    Windows 10被曝新零日漏洞涉及3大版本
    偵探推理游戲(二)
    三明:“兩票制”堵住加價(jià)漏洞
    漏洞在哪兒
    Java 反序列化漏洞研究
    高鐵急救應(yīng)補(bǔ)齊三漏洞
    昭平县| 青河县| 高雄县| 翼城县| 富阳市| 桓台县| 开封县| 阳江市| 五指山市| 达拉特旗| 奉贤区| 灵璧县| 凤山县| 通化市| 鄱阳县| 佛山市| 百色市| 邵阳市| 上高县| 崇左市| 罗山县| 郧西县| 自治县| 滨海县| 康保县| 搜索| 盐津县| 随州市| 宁波市| 长顺县| 奉化市| 曲周县| 大方县| 开封县| 南江县| 靖宇县| 江口县| 盐亭县| 图们市| 丹巴县| 安平县|