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

    基于“SQL注入”漏洞談網(wǎng)絡(luò)安全問題防范

    2021-08-09 03:19:47孫海波劉志斌張鳳雨馮偉
    中國新通信 2021年10期
    關(guān)鍵詞:數(shù)據(jù)庫

    孫海波 劉志斌 張鳳雨 馮偉

    【摘要】? ? 本文就工作中發(fā)現(xiàn)的一起SQL注入網(wǎng)絡(luò)安全漏洞,從事件經(jīng)過、驗(yàn)證過程、防護(hù)建議幾個方面,對該漏洞進(jìn)行了介紹。使讀者能夠?qū)QL注入漏洞有一個比較清晰的認(rèn)識,防止攻擊者利用該漏洞對網(wǎng)站數(shù)據(jù)庫進(jìn)行拖庫、撞庫、洗庫、社工庫等操作,進(jìn)而導(dǎo)致數(shù)據(jù)泄露、修改網(wǎng)站內(nèi)容、控制網(wǎng)站等安全事件的發(fā)生。

    【關(guān)鍵詞】? ? 網(wǎng)絡(luò)安全漏洞? ? SQL注入? ? 數(shù)據(jù)庫

    隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,黑客攻擊網(wǎng)站的手段也不斷提高。借助某種技術(shù)手段,非法獲取機(jī)密數(shù)據(jù)或非法獲取高于系統(tǒng)給定權(quán)限的系列行為都屬于黑客攻擊[1]。如今犯罪分子利用網(wǎng)絡(luò)安全漏洞進(jìn)行犯罪的行為已不鮮見,SQL(結(jié)構(gòu)化查詢語言,Structured Query Language)注入漏洞就是最常見的一種網(wǎng)絡(luò)安全漏洞。

    網(wǎng)絡(luò)安全漏洞不容小覷。SQL注入屬于高危風(fēng)險網(wǎng)絡(luò)安全漏洞,攻擊者通過SQL注入可以獲取到網(wǎng)站服務(wù)器的數(shù)據(jù)庫名、表名、字段名,進(jìn)而得到整個網(wǎng)站服務(wù)器的數(shù)據(jù),對網(wǎng)站用戶的數(shù)據(jù)造成極大的安全威脅。除此以外,攻擊者在獲取到的數(shù)據(jù)庫信息中,可能得到很多用戶的信息,甚至是后臺系統(tǒng)管理員的帳號信息,利用管理員的權(quán)限對網(wǎng)頁進(jìn)行惡意篡改。這樣不僅造成網(wǎng)站數(shù)據(jù)庫信息泄露,對整個網(wǎng)站系統(tǒng)也造成嚴(yán)重破壞。

    一、事件經(jīng)過

    筆者一直從事對網(wǎng)站的網(wǎng)絡(luò)安全漏洞掃描工作,于2021年3月發(fā)現(xiàn)一起比較典型的SQL注入漏洞,供讀者參考。漏洞詳細(xì)情況如下:漏洞名稱為SQL注入漏洞;漏洞數(shù)量1個;漏洞等級為高危;漏洞URL地址為 https://www.---.com/ehall/index.asp(“---”代表網(wǎng)站部分URL地址)。

    漏洞描述為,SQL注入漏洞,就是通過執(zhí)行用戶輸入的SQL命令,獲取網(wǎng)站數(shù)據(jù)庫信息,簡單來說就是欺騙網(wǎng)站服務(wù)器從而執(zhí)行用戶輸入的惡意SQL命令。具體來說,SQL注入攻擊就是利用網(wǎng)站應(yīng)用程序存在的安全漏洞,向SQL語句中插入了異常代碼,改變原有的SQL命令語義,從而獲取到想要的數(shù)據(jù),達(dá)到攻擊目的。SQL注入的方法非常靈活多變,根據(jù)特定的情況設(shè)計特定的SQL命令,在實(shí)際工作中也會遇到很多不同的情況。黑客目的是如何構(gòu)造出巧妙的SQL命令,從而獲取想要的數(shù)據(jù)庫信息。而我們的目的,是如何防止黑客攻擊,保障網(wǎng)站的健康運(yùn)行。

    二、驗(yàn)證過程

    我們通過Web安全漏洞掃描工具,發(fā)現(xiàn)該網(wǎng)站下面的一個URL地址,存在SQL注入安全漏洞:https://www.---.com/ehall/index.asp?hall=1。下面我們開始對這個URL地址,進(jìn)行漏洞驗(yàn)證。

    1.我們首先訪問主頁https://www.---.com/,并查看源代碼,發(fā)現(xiàn)存在https://www.---.com/ehall/頁面連接,如圖1所示,訪問該連接后繼續(xù)查看源代碼,又發(fā)現(xiàn)了https://www.---.com/ehall/index.asp?hall=1鏈接。

    2.我們對發(fā)現(xiàn)的網(wǎng)頁連接進(jìn)行數(shù)據(jù)請求,并對數(shù)據(jù)包進(jìn)行抓取。我們采用GET請求方式,返回值為“200”,響應(yīng)正常,如圖2所示。

    3.修改請求參數(shù)為“-1%20OR%203*2*1=6”,即“hall=-1%20OR%203*2*1=6”,我們看到無響應(yīng)包,證明服務(wù)器正在解析該請求。由此判斷該網(wǎng)頁連接可能存在SQL注入漏洞,如圖3所示。

    4.使用sqlmap工具進(jìn)行注入判斷。需要對請求方法進(jìn)行變更,因?yàn)樵谑褂胹qlmap進(jìn)行請求測試時,需要對POST中的參數(shù)進(jìn)行測試,如果是GET請求不會對參數(shù)進(jìn)行檢測,如圖4所示。

    將該請求數(shù)據(jù)保存到文本文件中,文件名修改為2.txt,放到sqlmap根目錄下。sqlmap為開源項(xiàng)目,下載地址為http://sqlmap.org/,并且需要在python2的環(huán)境中運(yùn)行。安裝好之后,就可以執(zhí)行命令進(jìn)行測試了。

    5.驗(yàn)證漏洞。使用命令進(jìn)行驗(yàn)證:python2 sqlmap.py -r 2.txt --random-agent。其中“--random-agent”表示使用random-agent作為HTTP User-Agent頭值,不再使用sqlmap默認(rèn)的HTTP User-Agent頭值,因?yàn)槟J(rèn)的HTTP User-Agent頭值帶有sqlmap字樣,容易被檢測設(shè)備發(fā)現(xiàn),添加random-agent之后會從sqlmap/data/txt/user-agents.txt文件中調(diào)用HTTP User-Agent頭值。命令執(zhí)行后,結(jié)果如圖5所示,我們可以看到一些關(guān)于服務(wù)器的敏感信息。

    6.執(zhí)行命令,列出當(dāng)前網(wǎng)站的數(shù)據(jù)庫:python2 sqlmap.py -r 2.txt --random-agent --current-db。命令執(zhí)行后如圖6所示,我們可以看到,這個網(wǎng)站的數(shù)據(jù)庫名為“birtvdata”,這比第5步中看到服務(wù)器敏感信息又更加深入了一步。

    7.執(zhí)行命令,列出網(wǎng)站數(shù)據(jù)庫中的表:python2 sqlmap.py -r 2.txt --random-agent -D birtvdata –tables。執(zhí)行后如圖7所示,可以看到數(shù)據(jù)庫“birtvdata”中的表信息。由于數(shù)據(jù)庫表比較多,所以在圖7中我們只列出了部分表信息。這一步是在第6步的基礎(chǔ)之上進(jìn)行的,即發(fā)現(xiàn)了數(shù)據(jù)庫名,然后再查看數(shù)據(jù)庫中的表信息。

    通過以上的驗(yàn)證步驟,我們已經(jīng)可以看到該網(wǎng)站服務(wù)器的一些敏感信息,并且查看到網(wǎng)站數(shù)據(jù)庫中的表信息,更深入的操作我們沒有再進(jìn)行。如果是不法分子,完全可以進(jìn)行拖庫,甚至是撞庫、洗庫、社工庫等操作,將網(wǎng)站數(shù)據(jù)庫進(jìn)行導(dǎo)出,甚至是修改,可能會造成嚴(yán)重的后果。由此我們可以得出結(jié)論,這個網(wǎng)站存在SQL注入的網(wǎng)絡(luò)安全漏洞。

    三、防護(hù)建議

    SQL注入網(wǎng)絡(luò)安全漏洞,其本質(zhì)就是欺騙服務(wù)器,進(jìn)而執(zhí)行惡意的SQL命令。SQL命令是以SQL語言為基礎(chǔ)的,實(shí)現(xiàn)對數(shù)據(jù)庫內(nèi)數(shù)據(jù)的查詢、增加、刪除、修改等操作,可大大提高效率。如果被不法分子執(zhí)行惡意的SQL命令,直接威脅到網(wǎng)站數(shù)據(jù)庫的安全,可能帶來嚴(yán)重的后果。造成SQL注入漏洞的原因主要有兩個:第一是網(wǎng)站對輸入的信息沒有進(jìn)行嚴(yán)格過濾,第二是沒有對發(fā)送到數(shù)據(jù)庫的信息進(jìn)行轉(zhuǎn)義。根據(jù)這兩點(diǎn)原因,我們歸納出針對SQL注入漏洞的防護(hù)措施主要有以下幾方面。

    1.嚴(yán)格審查,對輸入信息進(jìn)行校驗(yàn)。檢查用戶輸入是否合規(guī),保證用戶輸入的信息合法,尤其是用戶的輸入不能直接被嵌入到SQL語句中,防止SQL注入漏洞。

    2.完善機(jī)制手段,對用戶輸入SQL語句的語義進(jìn)行完整性審查,確認(rèn)SQL語句的功能目的沒有發(fā)生改變。

    3.注重對網(wǎng)站數(shù)據(jù)庫的監(jiān)控。定期查看數(shù)據(jù)庫操作日志,尤其是檢查是否存在網(wǎng)站管理員操作以外的SQL語句執(zhí)行痕跡。

    4.對于網(wǎng)站接入數(shù)據(jù)庫服務(wù)器使用的用戶,嚴(yán)禁其使用系統(tǒng)管理員權(quán)限。對于普通用戶的角色,應(yīng)遵循最小化權(quán)限原則,做到可管可控。比如網(wǎng)站上的普通用戶,只需要讀取數(shù)據(jù)庫內(nèi)容的權(quán)限,那么就禁止該類用戶對數(shù)據(jù)庫表的修改權(quán)限,如命令drop、insert、update、delete 等。

    5.對用戶數(shù)據(jù)進(jìn)行加密。對用戶名、登錄密碼等重要信息進(jìn)行加密保存。防止用戶信息被泄露,對網(wǎng)站進(jìn)行攻擊。

    6.在不影響網(wǎng)站正常運(yùn)行的前提下,使用參數(shù)化查詢,避免使用拼接SQL語句對數(shù)據(jù)庫查詢修改。

    7.防止網(wǎng)站敏感信息泄露。網(wǎng)站在設(shè)計過程中,要避免出現(xiàn)一些敏感或者是詳細(xì)的報錯信息泄露,以防止不法分子對這些信息進(jìn)行搜集,了解網(wǎng)站及服務(wù)器的情況,造成SQL注入或者其它漏洞的利用。

    8.對網(wǎng)站進(jìn)行定期漏洞掃描。定期掃描是發(fā)現(xiàn)網(wǎng)絡(luò)安全漏洞最好的方法,及時修復(fù)漏洞,防止網(wǎng)站及服務(wù)器遭到攻擊破壞。

    四、結(jié)束語

    網(wǎng)絡(luò)安全不容忽視,這是一個關(guān)系國家安全和主權(quán)、社會的穩(wěn)定、民族文化的繼承和發(fā)揚(yáng)的重要問題,其重要性不言而喻。為了確保網(wǎng)站的安全,除了提升我們的專業(yè)技術(shù)水平外,還必須提高工作責(zé)任心,定期對網(wǎng)站進(jìn)行漏洞掃描,發(fā)現(xiàn)問題及時處理,防患于未然。這次發(fā)現(xiàn)的SQL注入漏洞,我們通過幾個驗(yàn)證步驟,就已經(jīng)可以看到網(wǎng)站數(shù)據(jù)庫中的數(shù)據(jù)表。如果漏洞被惡意攻擊者利用,可能會造成嚴(yán)重的后果。

    2018年4月20日至21日,全國網(wǎng)絡(luò)安全和信息化工作會議在北京召開。中共中央總書記、國家主席、中央軍委主席、中央網(wǎng)絡(luò)安全和信息化委員會主任習(xí)近平同志指出,核心技術(shù)是國之重器。要下定決心、保持恒心、找準(zhǔn)重心,加速推動信息領(lǐng)域核心技術(shù)突破。要抓產(chǎn)業(yè)體系建設(shè),在技術(shù)、產(chǎn)業(yè)、政策上共同發(fā)力。要遵循技術(shù)發(fā)展規(guī)律,做好體系化技術(shù)布局,優(yōu)中選優(yōu)、重點(diǎn)突破 [2]。

    參? 考? 文? 獻(xiàn)

    [1]潘崇霞,仲偉俊,梅姝娥.不同攻擊類型下風(fēng)險厭惡型企業(yè)信息安全投資策略[J].系統(tǒng)工程學(xué)報,2019.34(4):497-510.

    [2]新華社.習(xí)近平:自主創(chuàng)新推進(jìn)網(wǎng)絡(luò)強(qiáng)國建設(shè). 2018-04-21. http://www.cac.gov.cn/2018-04/21/c_1122719824.htm.

    猜你喜歡
    數(shù)據(jù)庫
    數(shù)據(jù)庫
    財經(jīng)(2017年15期)2017-07-03 22:40:49
    數(shù)據(jù)庫
    財經(jīng)(2017年2期)2017-03-10 14:35:35
    兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
    數(shù)據(jù)庫
    財經(jīng)(2016年15期)2016-06-03 07:38:02
    數(shù)據(jù)庫
    財經(jīng)(2016年3期)2016-03-07 07:44:46
    數(shù)據(jù)庫
    財經(jīng)(2016年6期)2016-02-24 07:41:51
    數(shù)據(jù)庫
    財經(jīng)(2015年3期)2015-06-09 17:41:31
    數(shù)據(jù)庫
    財經(jīng)(2014年21期)2014-08-18 01:50:18
    數(shù)據(jù)庫
    財經(jīng)(2014年6期)2014-03-12 08:28:19
    數(shù)據(jù)庫
    財經(jīng)(2013年6期)2013-04-29 17:59:30
    高阳县| 德兴市| 彰化市| 大新县| 信宜市| 镇宁| 栖霞市| 凤阳县| 鸡东县| 东丽区| 合山市| 五峰| 夏河县| 梅河口市| 宕昌县| 宜章县| 福泉市| 安溪县| 淳安县| 中山市| 延庆县| 观塘区| 怀柔区| 侯马市| 营口市| 凌云县| 青阳县| 东至县| 杭锦后旗| 贵州省| 元江| 鸡泽县| 新平| 景谷| 珲春市| 独山县| 古浪县| 襄樊市| 大方县| 屯留县| 荆门市|