• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于網(wǎng)絡(luò)安全平臺的SQL注入技術(shù)研究

      2022-11-16 23:48:59
      無線互聯(lián)科技 2022年3期
      關(guān)鍵詞:用戶名后臺黑客

      趙 靜

      (天津工業(yè)職業(yè)學(xué)院,天津 300400)

      1 SQL注入攻擊

      SQL注入技術(shù)最早出現(xiàn)在20世紀(jì)90年代,在我國則是在2002年后。微軟中國技術(shù)中心從腳本注入式攻擊和惡意用戶輸入兩個方面對其進(jìn)行描述,進(jìn)而影響執(zhí)行的腳本。SQL注入攻擊可以描述為攻擊者利用SQL命令將請求的查詢字符串插入Web表單遞交或輸入域名或頁面,讓后臺數(shù)據(jù)庫執(zhí)行惡意代碼的命令,并根據(jù)程序返回的結(jié)果,獲取需要的數(shù)據(jù)信息。

      1.1 SQL注入攻擊原理

      SQL注入是指Web應(yīng)用程序沒有判斷用戶輸入數(shù)據(jù)的合法性或者對其過濾不嚴(yán)格,導(dǎo)致攻擊者可以在應(yīng)用程序中的已經(jīng)定義好的查詢語句中添加額外的語句,在管理員不知道的情況下進(jìn)行操作,欺騙數(shù)據(jù)庫服務(wù)器執(zhí)行非授權(quán)的任意查詢操作,得到相應(yīng)的數(shù)據(jù)信息。SQL注入通過正常的www端口進(jìn)行訪問,而且從表面上看和一般的頁面訪問沒有什么不同,假如管理員不經(jīng)常查看日志,那么可能很長時(shí)間都不會知道服務(wù)器被黑客入侵了。SQL在注入的時(shí)候會發(fā)生很多意想不到的情況。黑客需要構(gòu)造語句,獲取想要的數(shù)據(jù)。SQL注入攻擊通過操作輸入來修改語句,從而執(zhí)行代碼對服務(wù)器進(jìn)行攻擊;在表單、輸入域名和頁面請求的查詢字符串中插入數(shù)據(jù)庫語句命令,最終使用Web服務(wù)器執(zhí)行惡意命令。

      1.2 SQL注入辦法

      SQL注入最常用的方法包括注入判斷法和單引號法。

      1.3 確認(rèn)注入點(diǎn)

      首先,開發(fā)人員在執(zhí)行操作時(shí),需要區(qū)分?jǐn)?shù)字、字符串、用戶表名是數(shù)字型還是帶引號類型的。其次,查找內(nèi)聯(lián)注入。內(nèi)聯(lián)注入是指在插入查詢注入代碼后,原來的查詢不受影響,仍會全部執(zhí)行。最后,終止式注入。終止式語句注入是指黑客在注入代碼時(shí),可以注釋剩下的查詢,利用這種方式成功結(jié)束該語句。

      1.4 SQL注入攻擊手法

      1.4.1 基于布爾的盲注手法

      Web的頁面返回值只有真或假,布爾盲注手法是注入后根據(jù)頁面返回值得到數(shù)據(jù)庫信息的一種辦法。1.4.2 基于時(shí)間的盲注手法

      當(dāng)布爾型注入沒有報(bào)錯也就是頁面顯示正常的時(shí)候,技術(shù)人員不能夠判斷是否執(zhí)行了注入的代碼,也可以說不確定這個注入點(diǎn)是否存在,這個時(shí)候布爾型注入就無法發(fā)揮自己的作用。此時(shí),基于時(shí)間的盲注手法應(yīng)運(yùn)而生?;跁r(shí)間的盲注手法就是技術(shù)人員根據(jù)頁面相應(yīng)的時(shí)間差來判斷該頁面是否存在一定的注入點(diǎn)。

      1.4.3 聯(lián)合查詢注入手法

      使用聯(lián)合查詢進(jìn)行注入的前提是注入的頁面必須有顯示位。聯(lián)合查詢注入手法就是使用合并兩個或多個選擇語句的結(jié)果集,所以兩個及以上的選擇語句必須有相同的列,且各列的數(shù)據(jù)類型也都相同。聯(lián)合查詢注入可在鏈接最后添加order by,基于隨意數(shù)字的注入,根據(jù)頁面的返回結(jié)果來判斷站點(diǎn)中的字段數(shù)目[1]。1.4.4 基于錯誤信息的注入手法

      此手法是在頁面沒有顯示位,函數(shù)輸出了錯誤信息的時(shí)候方能使用。優(yōu)點(diǎn)是注入速度快,缺點(diǎn)是語句較為復(fù)雜,而且只能依次進(jìn)行猜解??傮w來說,報(bào)錯注入是一種公式化的注入方法,主要在頁面中沒有顯示位而輸出了錯誤信息時(shí)使用。

      1.5 SQL注入的過程

      進(jìn)行注入時(shí)一般會用到兩種方式,一種是手工注入的方式,還有一種是利用工具注入。

      第一步,注入點(diǎn)探測。探測注入點(diǎn)是關(guān)鍵的一步,研究者通過適當(dāng)?shù)貙?yīng)用程序進(jìn)行分析,可以判斷什么地方存在注入點(diǎn)。帶有輸入提交的動態(tài)網(wǎng)頁和從動態(tài)網(wǎng)頁訪問的數(shù)據(jù)庫,都可能存在注入漏洞。如果程序員信息安全意識不強(qiáng),采用動態(tài)構(gòu)造語句訪問數(shù)據(jù)庫,并且對用戶的輸入內(nèi)容未進(jìn)行有效性驗(yàn)證,則存在注入漏洞的可能性很大。一般技術(shù)人員通過頁面的報(bào)錯信息內(nèi)容來確定是否存在注入漏洞。第二步,收集后臺數(shù)據(jù)庫信息。不同數(shù)據(jù)庫的注入方法函數(shù)都不盡相同。因此在注入之前,技術(shù)人員先要判斷一下數(shù)據(jù)庫的類型。判斷數(shù)據(jù)庫類型的方法有很多,可以輸入特殊字符,比如單引號讓程序返回錯誤信息,技術(shù)人員根據(jù)錯誤信息提示進(jìn)行判斷。除此之外,技術(shù)人員還可以使用特定函數(shù)來判斷。第三步,猜解用戶名和密碼。數(shù)據(jù)庫中的表和字段命名一般都是有規(guī)律的。通過構(gòu)造特殊語句在數(shù)據(jù)庫中依次猜解出表名、字段名、字段數(shù)、用戶名和密碼。第四步,查找Web后臺管理入口。后臺管理通常不對普通用戶開放,要找到后臺管理的登錄網(wǎng)址,可以利用目錄掃描工具,如御劍等,快速搜索到可能的登錄地址,然后逐一嘗試,便可以找到后臺管理平臺的登錄網(wǎng)址。第五步,入侵。一般后臺管理具有較高的權(quán)限和較多的功能,使用前面已經(jīng)破譯的用戶名和密碼成功登錄后臺管理平臺后,就可以任意進(jìn)行破壞,比如上傳木馬、篡改網(wǎng)頁、修改和竊取信息等,還可以進(jìn)一步提權(quán),入侵Web服務(wù)器和數(shù)據(jù)庫服務(wù)器[2]。

      1.6 SQL注入的特點(diǎn)

      (1)廣泛性,SQL注入攻擊的目標(biāo)非常的廣泛,它可以跨越各種操作系統(tǒng)進(jìn)行攻擊。任何一個基于SQL語言的數(shù)據(jù)庫都可能會被攻擊,很多開發(fā)人員在編寫Web應(yīng)用程序時(shí)沒有對從輸入?yún)?shù)表單接收到的值進(jìn)行規(guī)范性驗(yàn)證和檢測,通常會出現(xiàn)注入漏洞。而且當(dāng)前大家都在廣泛應(yīng)用Web應(yīng)用程序,而Web存在的漏洞相似程度都很高。(2)隱蔽性,注入語句一般都嵌入在普通的HTTP請求中,很難與正常語句進(jìn)行區(qū)別,所以當(dāng)前許多防火墻都沒有辦法識別并予以警告,而且注入變種非常多,攻擊者可以調(diào)整攻擊的參數(shù),所以使用傳統(tǒng)的方法防御注入效果非常不理想。(3)攻擊時(shí)間短,操作方便??稍诙潭處酌氲綆追昼妰?nèi)完成數(shù)據(jù)竊取、木馬種植、對整個數(shù)據(jù)庫或Web服務(wù)器進(jìn)行控制,而且互聯(lián)網(wǎng)上有很多注入工具,攻擊過程簡單,不需要專業(yè)知識也能自如運(yùn)用[3]。(4)危害大,攻擊者通過注入獲取到服務(wù)器的庫名、表名、字段名,從而獲取到整個服務(wù)器中的數(shù)據(jù),對網(wǎng)站用戶的數(shù)據(jù)安全性有極大的威脅。攻擊者也可以通過獲取到的數(shù)據(jù),得到后臺管理員的密碼,然后對網(wǎng)頁頁面進(jìn)行惡意篡改。這樣不僅對數(shù)據(jù)庫信息安全造成嚴(yán)重威脅,對整個數(shù)據(jù)庫系統(tǒng)安全也影響重大。

      1.7 SQL注入攻擊檢測方式及方法

      1.7.1 檢測方式

      SQL注入攻擊檢測方式可以分為兩個方面,即入侵前的檢測以及入侵后的檢測。不同的檢測也具有不同的方式,入侵前的檢測可以通過手工方式和注入工具軟件。注入攻擊后的檢測是針對日志的檢測,黑客注入成功后,會在log和數(shù)據(jù)庫中留下記錄。

      1.7.2 檢測方法

      對于數(shù)據(jù)庫查詢來說,動態(tài)的SQL語句是非常強(qiáng)大的工具,但是如果把用戶輸入和它放在一起就很有可能被黑客注入。存儲過程在接收用戶輸入的時(shí)候是作為參數(shù)而不是SQL命令,這樣就大大限制了入侵者的行動。當(dāng)然,這種情況不適合用在以下方面,即存儲過程中利用用戶輸入來生成SQL命令。這時(shí),依舊能夠正常執(zhí)行用戶輸入的命令,數(shù)據(jù)庫仍然有可能存在注入風(fēng)險(xiǎn)。如果一個輸入框規(guī)定只能包括數(shù)字,在輸入的時(shí)候就要對輸入內(nèi)容進(jìn)行嚴(yán)格的驗(yàn)證,即保證輸入的是數(shù)字。如果允許有字母輸入,那么就要檢測是否存在不合法的字符。黑客使用軟件工具進(jìn)行攻擊后,一些臨時(shí)表會生成,并且會保存在數(shù)據(jù)庫中。技術(shù)人員要想判斷是否發(fā)生過注入攻擊可以通過查看數(shù)據(jù)庫中最近新建的表的結(jié)構(gòu)內(nèi)容。日志檢查如果啟用了日志記錄,那么訪問者的訪問文件和IP地址都會被記錄下來。判斷是否發(fā)生過注入攻擊可以通過查看日志文件的大小和內(nèi)容。

      2 SQL手工注入操作

      打開實(shí)訓(xùn)平臺,通過瀏覽器打開目標(biāo)地址,在地址后加提交單引號,頁面返回錯誤,然后提交and 1=1頁面返回正常,然后再提交and 1=2頁面返回錯誤,提交and exists(select * from admin_user)判斷是否存在相應(yīng)的表,如果存在頁面錯誤則返回正常,如果不存在,頁面返回錯誤。頁面返回正常,說明存在相應(yīng)的表,然后用同樣的方法繼續(xù)提交語句來判斷字段名中的用戶名和密碼,如果存在用戶名和密碼字段則頁面返回正常,如果不存在則返回錯誤。頁面返回正常然后判斷當(dāng)前頁面字段數(shù),Order by 11頁面返回錯誤,修改為10頁面返回正常說明當(dāng)前頁面有十個字段,然后提交聯(lián)合查詢語句,頁面顯示2和7,則在相應(yīng)的位置上替換用戶名和密碼字段,得到字段值。

      3 結(jié)語

      對于數(shù)據(jù)庫攻擊而言,SQL注入攻擊技術(shù)是目前主要方式之一。它利用惡意構(gòu)造數(shù)據(jù)庫語句,或者嵌入SQL語句到注入點(diǎn),最終獲取相應(yīng)的數(shù)據(jù)庫中的數(shù)據(jù)。大多數(shù)的應(yīng)用程序存在注入點(diǎn),主要原因是程序員動態(tài)拼接了傳入的參數(shù),從而使得黑客可以構(gòu)造想要執(zhí)行的語句,出現(xiàn)數(shù)據(jù)泄露問題。

      猜你喜歡
      用戶名后臺黑客
      《護(hù)士進(jìn)修雜志》投稿程序
      歡樂英雄
      多少個屁能把布克崩起來?
      網(wǎng)絡(luò)黑客比核武器更可怕
      后臺暗戀
      機(jī)智的快遞員
      故事會(2017年17期)2017-09-04 17:36:42
      前臺、后臺精彩花絮停不了
      電力調(diào)度中后臺監(jiān)控系統(tǒng)的應(yīng)用
      河南科技(2014年11期)2014-02-27 14:10:03
      后臺
      中國攝影(2013年6期)2013-04-29 21:58:19
      ESET NOD32專家答疑等
      霞浦县| 大名县| 海门市| 平乐县| 南宁市| 保德县| 新宾| 澎湖县| 廊坊市| 彭山县| 兰考县| 资源县| 行唐县| 尚义县| 昌都县| 怀安县| 丰宁| 虹口区| 西林县| 克什克腾旗| 柏乡县| 和政县| 嵊泗县| 喀喇沁旗| 合川市| 沙坪坝区| 高雄县| 当阳市| 白水县| 桃江县| 新兴县| 都匀市| 通河县| 中牟县| 万宁市| 寿阳县| 阿图什市| 响水县| 南木林县| 江陵县| 安顺市|