亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

網絡安全及防御之SQL注入原理介紹

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

A.SQL注入概述

什么是SQL注入

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

SQL注入的原理

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

SQL注入的地位

SQL注入的來源

SQL注入的主要特點

1.變種極多

有經驗的攻擊者會手工調整攻擊的參數,致使攻擊的數據是不可枚舉的,這導致傳統(tǒng)的特征匹配方法僅能識別到相當少的攻擊。或者是最常規(guī)的攻擊,難以做到防范。

2.攻擊簡單

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

3.危害極大

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

SQL注入的危害

1.未經授權狀況下操作數據庫中的數據

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

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

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

B.SQL注入攻擊

SQL注入攻擊

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

SQL注入威脅表達方式

繞過認證,獲得非法權限

拆解后臺數據庫全部的信息

注入可以借助數據庫的存儲過程進行提權等操作

SQL注入典型攻擊手段

判斷應用程序是否存在注入漏洞

收集信息、并判斷數據庫類型

根據注入參數類型,重構生氣了語句的原貌

拆解表名、字段名

獲取賬戶信息、攻擊web或為下一步攻擊做準備

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

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

按照注入點類型來分類

按照數據提交的方式來分類

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

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

C.MySQL注入常用函數

MySQL的注釋風格

MySQL——union操作符

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

union中的每個查詢必須擁有相同的列數

MySQL——常用函數

MySQL——字符串連接函數

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

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

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

MySQL——information-schema結構

D.SQL注入相關工具

sqlmap介紹

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

Pangolin介紹

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

啊D注入工具

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

Havij注入工具

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

E.SQL注入防御

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

本文參考:網絡安全培訓、網絡安全工程師(奇安信)收藏夾吃灰系列_嗶哩嗶哩_bilibili

以上就是網絡安全及防御之SQL注入原理介紹的詳細內容,更多關于網絡安全SQL注入的資料請關注腳本之家其它相關文章!

相關文章

最新評論