欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

網(wǎng)絡(luò)安全及防御之SQL注入原理介紹

 更新時(shí)間:2021年09月17日 09:14:17   作者:精雕細(xì)琢方成瑜  
本文講解了SQL注入的原理、特點(diǎn)、危害,SQL注入的攻擊手法和MySQL注入的常用函數(shù),講解相關(guān)工具,如何去防御SQL注入,帶大家了解了解SQL注入相關(guān)概念,掌握SQL注入攻擊手法,了解SQL注入相關(guān)工具和防御方法

A.SQL注入概述

什么是SQL注入

所謂SQL注入,就是通過SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。具體來說,它是利用現(xiàn)有應(yīng)用程序,將(惡意的)SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個(gè)存在安全漏洞的網(wǎng)站上的數(shù)據(jù)庫,而不是按照設(shè)計(jì)者意圖去執(zhí)行SQL語句。比如先前的很多影視網(wǎng)站泄露VIP會員密碼大多就是通過Web表單遞交查詢字符暴出的,這類表單特別容易受到SQL注入式攻擊。

SQL注入的原理

SQL注入攻擊指的是通過構(gòu)建特殊的輸入作為參數(shù)傳入Web應(yīng)用程序,而這些輸入大都是SQL語法里的一些組合,通過執(zhí)行SQL語句進(jìn)而執(zhí)行攻擊者所要的操作,其主要原因是程序沒有細(xì)致地過濾用戶輸入的數(shù)據(jù),致使非法數(shù)據(jù)侵入系統(tǒng)。

SQL注入的地位

SQL注入的來源

SQL注入的主要特點(diǎn)

1.變種極多

有經(jīng)驗(yàn)的攻擊者會手工調(diào)整攻擊的參數(shù),致使攻擊的數(shù)據(jù)是不可枚舉的,這導(dǎo)致傳統(tǒng)的特征匹配方法僅能識別到相當(dāng)少的攻擊?;蛘呤亲畛R?guī)的攻擊,難以做到防范。

2.攻擊簡單

攻擊過程簡單,目前互聯(lián)網(wǎng)上流行的眾多SQL注入攻擊工具,攻擊者借助這些工具可以很快的對目標(biāo)網(wǎng)站進(jìn)行攻擊或者是破壞,危害大。

3.危害極大

由于web語言自身的缺陷,以及具有安全編程的開發(fā)人員較少,大多數(shù)web應(yīng)用系統(tǒng)均具有被SQL注入攻擊的可能,而攻擊者一旦攻擊成功,就可以對控制整個(gè)web應(yīng)用系統(tǒng)對數(shù)據(jù)做任何的修改或者是竊取,破壞力達(dá)到了極致。

SQL注入的危害

1.未經(jīng)授權(quán)狀況下操作數(shù)據(jù)庫中的數(shù)據(jù)

2.惡意篡改網(wǎng)頁內(nèi)容//登陸后臺后發(fā)布的內(nèi)容,也可以發(fā)布對首頁的更新,這時(shí)候更新可能就是一些非法信息,也可以對系統(tǒng)進(jìn)行添加賬戶或者是數(shù)據(jù)庫賬號。這個(gè)需要拿到web shell或者更高的權(quán)限

3.私自添加系統(tǒng)賬號或者是數(shù)據(jù)庫使用者賬號

4.網(wǎng)頁掛木馬//拿到web shell或者獲取到服務(wù)器的權(quán)限以后,我們將一些網(wǎng)頁木馬掛在服務(wù)器上,去攻擊別人。甚至再嚴(yán)重些我們可以控制整個(gè)web服務(wù)器,這個(gè)都是非常危險(xiǎn)的。

B.SQL注入攻擊

SQL注入攻擊

SQL注入攻擊是黑客對數(shù)據(jù)庫進(jìn)行攻擊的常用手段之一。隨著B/S模式應(yīng)用開發(fā)的發(fā)展,使用這種模式編寫應(yīng)用程序的程序員也越來越多。但是由于程序員的水平及經(jīng)驗(yàn)也參差不齊,相當(dāng)大一部分程序員在編寫代碼的時(shí)候,沒有對用戶輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想的得知的數(shù)據(jù),這就是所謂的SQL Injection,即SQL注入。

SQL注入威脅表達(dá)方式

繞過認(rèn)證,獲得非法權(quán)限

拆解后臺數(shù)據(jù)庫全部的信息

注入可以借助數(shù)據(jù)庫的存儲過程進(jìn)行提權(quán)等操作

SQL注入典型攻擊手段

判斷應(yīng)用程序是否存在注入漏洞

收集信息、并判斷數(shù)據(jù)庫類型

根據(jù)注入?yún)?shù)類型,重構(gòu)生氣了語句的原貌

拆解表名、字段名

獲取賬戶信息、攻擊web或?yàn)橄乱徊焦糇鰷?zhǔn)備

SQL注入是否存在注入的判斷方式

SQL注入實(shí)戰(zhàn)步驟

按照注入點(diǎn)類型來分類

按照數(shù)據(jù)提交的方式來分類

按照執(zhí)行效果來分類

  • 基于布爾的盲注,即可以根據(jù)返回頁面判斷條件真假的注入。
  • 基于時(shí)間的盲注,即不能根據(jù)頁面返回內(nèi)容判斷任何信息,用條件語句查看時(shí)間延遲語句是否執(zhí)行(即頁面返回時(shí)間是否增加)來判斷。
  • 基于報(bào)錯(cuò)注入,即頁面會返回錯(cuò)誤信息,或者把注入的語句的結(jié)果直接返回在頁面中。
  • 聯(lián)合查詢注入,可以使用union的情況下的注入。
  • 堆查詢注入,可以同時(shí)執(zhí)行多條語句的執(zhí)行時(shí)的注入。

C.MySQL注入常用函數(shù)

MySQL的注釋風(fēng)格

MySQL——union操作符

union操作符用于拼接兩個(gè)或者多select查詢語句

union中的每個(gè)查詢必須擁有相同的列數(shù)

MySQL——常用函數(shù)

MySQL——字符串連接函數(shù)

concat(str1,str2...)函數(shù),直接連接

group_concat(str1,str2...)函數(shù),使用逗號做為分隔符

concat_ws(sep,str1,str2...)函數(shù),使用第一個(gè)參數(shù)做為分隔符

MySQL——information-schema結(jié)構(gòu)

D.SQL注入相關(guān)工具

sqlmap介紹

SQLMAP是一個(gè)開源的滲透測試工具,它主要用于自動化地偵測和實(shí)施SQL注入攻擊以及滲透數(shù)據(jù)庫服務(wù)器。SQLMAP配有強(qiáng)大的偵測引擎,適用于高級滲透測試用戶,不僅可以獲得不同數(shù)據(jù)庫的指紋信息,還可以從數(shù)據(jù)庫中提取數(shù)據(jù),此外還能夠處理潛在的文件系統(tǒng)以及通過帶外數(shù)據(jù)連接執(zhí)行系統(tǒng)命令等。

Pangolin介紹

Pangolin能夠通過一系列非常簡單的操作,達(dá)到最大化的攻擊測試效果。它從檢測注入開始到最后控制目標(biāo)系統(tǒng)都給出了測試步驟。Pangolin時(shí)目前國內(nèi)使用率最高的SQL注入測試的安全軟件,可以說是網(wǎng)站安全測試人員的必備工具之一。

啊D注入工具

啊D注入工具是一種主要用于SQL的注入工具,由彭岸峰開發(fā),使用了多線程技術(shù),能在極短的時(shí)間內(nèi)掃描注入點(diǎn)。使用者不需要經(jīng)過太多的學(xué)習(xí)就可以很熟練的操作。并且該軟件附帶了一些其他的工具,可以為使用者提供極大的方便。

Havij注入工具

HavijPro是一款自動化地SQL注入工具,它能夠幫助滲透測試人員發(fā)現(xiàn)和利用Web應(yīng)用程序的SQL注入漏洞。Havij不僅能夠自動挖掘可利用的SQL查詢,還能夠識別后臺數(shù)據(jù)庫類型、檢索數(shù)據(jù)的用戶名和密碼hash、轉(zhuǎn)儲表和列、從數(shù)據(jù)庫中提取數(shù)據(jù),甚至訪問底層文件系統(tǒng)和執(zhí)行系統(tǒng)命令,當(dāng)然前提是有一個(gè)可利用的SQL注入漏洞。Havij支持廣泛的數(shù)據(jù)庫系統(tǒng),比如MsSQL,MySQL,MSAccess and Oracle。Havij支持參數(shù)配置以躲避IDS,支持代理,后臺登陸地址掃描。

E.SQL注入防御

  • 開發(fā)人員在開發(fā)過程中要有SQL注入防御的思想,對用戶輸入的所有內(nèi)容都要進(jìn)行過濾。
  • 使用數(shù)據(jù)庫時(shí),命名應(yīng)該較為復(fù)雜,不應(yīng)出現(xiàn)admin,user這樣的庫以及username,password這樣的字段。
  • 涉及密碼的時(shí)候一定要加密存儲。
  • 使用一些框架及模板前檢查代碼是否有輸入內(nèi)容檢測。
  • 測試階段,應(yīng)進(jìn)行SQL測試。
  • 數(shù)據(jù)庫權(quán)限最小化,防止拿到webshell權(quán)限,不要用特權(quán)賬戶或者能夠登陸系統(tǒng)的賬戶啟動數(shù)據(jù)庫。

本文參考:網(wǎng)絡(luò)安全培訓(xùn)、網(wǎng)絡(luò)安全工程師(奇安信)收藏夾吃灰系列_嗶哩嗶哩_bilibili

以上就是網(wǎng)絡(luò)安全及防御之SQL注入原理介紹的詳細(xì)內(nèi)容,更多關(guān)于網(wǎng)絡(luò)安全SQL注入的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論