⑴ 什麼是sql注入
SQL注入:利用現有應用程序,將(惡意)的SQL命令注入到後台資料庫引擎執行的能力,這是SQL注入的標准釋義。
隨著B/S模式被廣泛的應用,用這種模式編寫應用程序的程序員也越來越多,但由於開發人員的水平和經驗參差不齊,相當一部分的開發人員在編寫代碼的時候,沒有對用戶的輸入數據或者是頁面中所攜帶的信息(如Cookie)進行必要的合法性判斷,導致了攻擊者可以提交一段資料庫查詢代碼,根據程序返回的結果,獲得一些他想得到的數據。
SQL注入利用的是正常的HTTP服務埠,表面上看來和正常的web訪問沒有區別,隱蔽性極強,不易被發現。
SQL注入攻擊過程分為五個步驟:
第一步:判斷Web環境是否可以SQL注入。如果URL僅是對網頁的訪問,不存在SQL注入問題,如:http://www.../162414739931.shtml就是普通的網頁訪問。只有對資料庫進行動態查詢的業務才可能存在SQL注入,如:http://www...../webhp?id=39,其中?id=39表示資料庫查詢變數,這種語句會在資料庫中執行,因此可能會給資料庫帶來威脅。
第二步:尋找SQL注入點。完成上一步的片斷後,就要尋找可利用的注入漏洞,通過輸入一些特殊語句,可以根據瀏覽器返回信息,判斷資料庫類型,從而構建資料庫查詢語句找到注入點。
第三步:猜解用戶名和密碼。資料庫中存放的表名、欄位名都是有規律可言的。通過構建特殊資料庫語句在資料庫中依次查找表名、欄位名、用戶名和密碼的長度,以及內容。這個猜測過程可以通過網上大量注入工具快速實現,並藉助破解網站輕易破譯用戶密碼。
第四步:尋找WEB管理後台入口。通常WEB後台管理的界面不面向普通用戶
開放,要尋找到後台的登陸路徑,可以利用掃描工具快速搜索到可能的登陸地址,依次進行嘗試,就可以試出管理台的入口地址。
第五步:入侵和破壞。成功登陸後台管理後,接下來就可以任意進行破壞行為,如篡改網頁、上傳木馬、修改、泄漏用戶信息等,並進一步入侵資料庫伺服器。
SQL注入攻擊的特點:
變種極多,有經驗的攻擊者會手動調整攻擊參數,致使攻擊數據的變種是不可枚舉的,這導致傳統的特徵匹配檢測方法僅能識別相當少的攻擊,難以防範。
攻擊過程簡單,目前互聯網上流行眾多的SQL注入攻擊工具,攻擊者藉助這些工具可很快對目標WEB系統實施攻擊和破壞。
危害大,由於WEB編程語言自身的缺陷以及具有安全編程能力的開發人員少之又少,大多數WEB業務系統均具有被SQL注入攻擊的可能。而攻擊者一旦攻擊成功,可以對控制整個WEB業務系統,對數據做任意的修改,破壞力達到及至。
SQL注入的危害和現狀
SQL注入的主要危害包括:
未經授權狀況下操作資料庫中的數據
惡意篡改網頁內容
私自添加系統帳號或者是資料庫使用者帳號
網頁掛木馬
如何防止SQL參數:
1,檢查上傳的數據,並過濾
2. 禁止拼接SQL字元串
3.使用SQL參數化處理
4.載入防入侵等硬體設施
⑵ SQL注入後能做些什麼
通過SQL注入可以猜到你的表\欄位
如果你的表\欄位使用的是比較常用的單詞(如:admin表,User表,UserName欄位,Password欄位等)是很容易就會被注入軟體猜出來的.
破解出你網站管理員用戶名密碼後,登陸管理後台上傳木馬.(如果你的網站有上傳功能的話)
然後再想辦法運行木馬.(如果是ACCESS資料庫並且後台可備份資料庫的話常用的方法就是將木馬改為JPG或者GIF格式傳上去後備份成ASP格式就可以運行了.)
另外如果你用的SQLSERVER資料庫並且伺服器設置不安全的話有可能會被拿下伺服器控制許可權.
⑶ 什麼是sql注入,怎麼防止sql注入
原理
SQL注入攻擊指的是通過構建特殊的輸入作為參數傳入Web應用程序,而這些輸入大都是SQL語法里的一些組合,通過執行SQL語句進而執行攻擊者所要的操作,其主要原因是程序沒有細致地過濾用戶輸入的數據,致使非法數據侵入系統。
根據相關技術原理,SQL注入可以分為平台層注入和代碼層注入。前者由不安全的資料庫配置或資料庫平台的漏洞所致;後者主要是由於程序員對輸入未進行細致地過濾,從而執行了非法的數據查詢。基於此,SQL注入的產生原因通常表現在以下幾方面:①不當的類型處理;②不安全的資料庫配置;③不合理的查詢集處理;④不當的錯誤處理;⑤轉義字元處理不合適;⑥多個提交處理不當。
攻擊
當應用程序使用輸入內容來構造動態sql語句以訪問資料庫時,會發生sql注入攻擊。如果代碼使用存儲過程,而這些存儲過程作為包含未篩選的用戶輸入的字元串來傳遞,也會發生sql注入。sql注入可能導致攻擊者使用應用程序登陸在資料庫中執行命令。相關的SQL注入可以通過測試工具pangolin進行。如果應用程序使用特權過高的帳戶連接到資料庫,這種問題會變得很嚴重。在某些表單中,用戶輸入的內容直接用來構造動態sql命令,或者作為存儲過程的輸入參數,這些表單特別容易受到sql注入的攻擊。而許多網站程序在編寫時,沒有對用戶輸入的合法性進行判斷或者程序中本身的變數處理不當,使應用程序存在安全隱患。這樣,用戶就可以提交一段資料庫查詢的代碼,根據程序返回的結果,獲得一些敏感的信息或者控制整個伺服器,於是sql注入就發生了。
防護
歸納一下,主要有以下幾點:
1.永遠不要信任用戶的輸入。對用戶的輸入進行校驗,可以通過正則表達式,或限制長度;對單引號和
雙"-"進行轉換等。
2.永遠不要使用動態拼裝sql,可以使用參數化的sql或者直接使用存儲過程進行數據查詢存取。
3.永遠不要使用管理員許可權的資料庫連接,為每個應用使用單獨的許可權有限的資料庫連接。
4.不要把機密信息直接存放,加密或者hash掉密碼和敏感的信息。
5.應用的異常信息應該給出盡可能少的提示,最好使用自定義的錯誤信息對原始錯誤信息進行包裝
6.sql注入的檢測方法一般採取輔助軟體或網站平台來檢測,軟體一般採用sql注入檢測工具jsky,網站平台就有億思網站安全平台檢測工具。MDCSOFT SCAN等。採用MDCSOFT-IPS可以有效的防禦SQL注入,XSS攻擊等。
⑷ sql注入工具是幹嘛用的
sql注入攻擊,就是利用程序員開發時候操作資料庫的低級錯誤進行攻擊。
主要手段就是利用拼接字元串來實現一些操作。
工具呢,也有一些,你搜索一下就能找到。
不過這種攻擊明顯已經過時了,尤其是有了linq以後,正式退出了歷史舞台。
⑸ SQL自動注入工具好不好
Sql注入測試一定要使用工具。原因一:工作效率;原因二:人工很難構造出覆蓋面廣的盲注入的sql語句。例如當一個查詢的where字句包含了多個參數,or and的關系比較多時,簡單的or 1=1, and 1=2是很難發現注入點的。
Sql注入的工具很多(Top 15 free SQL Injection Scanners),我最近使用的有Sqlmap,SqliX,JbroFuzz,Sql Power Injector, 網站啄木鳥.現將他們的使用方法和比較結果貼於此:
Sqlmap是python開發的SQL注入漏洞測試工具。沒有UI界面的命令行工具。雖說是命令行工具,可他的使用比網站啄木鳥,Sql Power injector 容易多了,並且有很詳細的幫助文檔。從下面2個地址獲得相關程序包:
⑹ 計算機裡面sql注入作用是什麼
你好,很高興為你解答:
SQL是操作 資料庫 數據的結構化查詢語言,網頁的應用數據和後台資料庫中的數據進行交互時會採用SQL。 而SQL注入是將Web頁面的原 URL 、表單域或數據包輸入的參數,修改拼接成SQL語句,傳遞給Web伺服器,進而傳給 資料庫伺服器 以執行資料庫命令。
SQL注入即是指web應用程序對用戶輸入數據的合法性沒有判斷或過濾不嚴,攻擊者可以在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,在管理員不知情的情況下實現非法操作,以此來實現欺騙資料庫伺服器執行非授權的任意查詢,從而進一步得到相應的數據信息。
⑺ sql注入工具是幹嘛用的
檢測網站的SQL注漏洞或通過該工具對有SQL注入漏洞的網站發動攻擊.
⑻ 功能強大.操作簡單的SQL注入工具是
最好的sql注入工具就是手動測試.判斷出欄位了解了注入也就可以屏蔽一些字元串了.
⑼ SQL注入哪些工具最有效
SQL Power Injector是一款在.Net 1.1中創建的應用程序,可幫助滲透測試人員在網頁上查找和利用SQL注入。
特徵
支持Windows,Unix和Linux操作系統
SQL Server,Oracle,MySQL,Sybase / Adaptive Server和DB2兼容
SSL支持
自動從網頁上的表單或IFrame載入參數(GET或POST)
檢測並瀏覽框架集
自動檢測網站語言的選項
檢測並添加載入頁面進程期間使用的Cookie(Set-Cookie檢測)
自動查找提交頁面,其方法(GET或POST)以不同的顏色顯示
可以直接在Datagrids中創建/修改/刪除載入的字元串和Cookie參數
單個SQL注入
盲目的SQL注入
比較頁面的真實和錯誤響應或cookie中的結果
時間延遲
SQL注入在自定義瀏覽器中的響應
可以使用HTML上下文顏色查看返回頁面的HTML代碼源並在其中搜索
微調參數和cookie注入
可以參數化預期結果的長度和計數以優化應用程序執行SQL注入所用的時間
創建/編輯預設的ASCII字元,以優化盲注SQL請求數/請求速度
多線程(最多可配置50個)
選項可以通過空的評論/ ** /針對IDS或過濾器檢測來替換空間
在發送之前自動編碼特殊字元
自動檢測響應頁面中的預定義SQL錯誤
在響應頁面中自動檢測預定義的單詞或句子
實時結果
將會話保存並載入到XML文件中
自動查找正面答案和負面答案頁面之間差異的功能
可以創建一個范圍列表,它將替換隱藏的SQL注入字元串中的變數(>)並自動為您播放它們
使用文本文件中的預定義列表自動重播變數范圍
Firefox插件,它將啟動SQL Power Injector以及當前網頁的所有信息及其會話上下文(參數和cookie)
兩個集成工具:Hex和Char編碼器和MS SQL @options解釋器
可以編輯Referer
可以選擇一個用戶代理(或者甚至在用戶代理XML文件中創建一個)
可以使用設置窗口配置應用程序
支持可配置的代理
軟體截圖
地址:http://www.sqlpowerinjector.com/index.htm
ilo--,Reversing.org - sqlbftools
地址:https://packetstormsecurity.com/files/download/43795/sqlbftools-1.2.tar.gz
Bernardo Damele AG:sqlmap,自動SQL注入工具
介紹
sqlmap是一款開源滲透測試工具,可自動檢測和利用SQL注入漏洞並接管資料庫伺服器。它具有強大的檢測引擎,針對終極滲透測試人員的眾多特性,以及從資料庫指紋識別,從資料庫獲取數據,到訪問底層文件系統以及在操作系統上執行命令的各種開關,帶外連接。
特徵
完全支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP MaxDB,HSQLDB和Informix資料庫管理系統。
完全支持六種SQL注入技術:基於布爾的盲,基於時間的盲,基於錯誤,基於UNION查詢,堆棧查詢和帶外。
支持直接連接資料庫而不通過SQL注入,通過提供DBMS憑證,IP地址,埠和資料庫名稱。
支持枚舉用戶,密碼哈希,特權,角色,資料庫,表和列。
自動識別密碼哈希格式並支持使用基於字典的攻擊對其進行破解。
支持完全轉儲資料庫表,根據用戶的選擇提供一系列條目或特定列。用戶也可以選擇僅轉儲每列條目中的一系列字元。
支持搜索特定的資料庫名稱,跨所有資料庫的特定表或所有資料庫表的特定列。例如,這對於識別包含自定義應用程序憑證的表格非常有用,其中相關列的名稱包含名稱和傳遞等字元串。
當資料庫軟體是MySQL,PostgreSQL或Microsoft SQL Server時,支持從資料庫伺服器底層文件系統下載和上載任何文件。
當資料庫軟體是MySQL,PostgreSQL或Microsoft SQL Server時,支持執行任意命令並在資料庫伺服器底層操作系統上檢索它們的標准輸出。
支持在攻擊者機器和資料庫伺服器底層操作系統之間建立帶外狀態TCP連接。該通道可以是互動式命令提示符,Meterpreter會話或圖形用戶界面(VNC)會話,可以根據用戶的選擇進行選擇。
通過Metasploit的Meterpreter 命令支持資料庫進程'用戶許可權升級
地址:http://sqlmap.org/
icesurfer:SQL Server接管工具 - sqlninja
介紹
喜歡從Microsoft SQL Server上的SQL注入到資料庫上的完整GUI訪問?採用一些新的SQL注入技巧,在注冊表中添加幾個遠程鏡頭以禁用數據執行保護,混合一個自動生成調試腳本的小Perl,將所有這些放在一個帶有Metasploit包裝器的振動器中,只有sqlninja的攻擊模塊之一!
Sqlninja是一款旨在利用以Microsoft SQL Server作為後端的Web應用程序中的SQL注入漏洞的工具。
其主要目標是在易受攻擊的資料庫伺服器上提供遠程訪問,即使在非常惡劣的環境中也是如此。滲透測試人員應該使用它來幫助和自動化發現SQL注入漏洞時接管資料庫伺服器的過程。
特徵
完整的文檔可以在tarball中找到,也可以在這里找到,但是這里列出了忍者的功能:
遠程SQL Server的指紋(版本,執行查詢的用戶,用戶許可權,xp_cmdshell可用性,資料庫身份驗證模式)
數據提取,基於時間或通過DNS隧道
與Metasploit3集成,通過VNC伺服器注入獲得對遠程資料庫伺服器的圖形化訪問,或者僅上傳Meterpreter
通過vbscript或debug.exe僅上傳可執行的HTTP請求(不需要FTP / TFTP)
直接和反向綁定,TCP和UDP
當沒有可用於直接/反向外殼的TCP / UDP埠時,DNS隧道偽外殼,但資料庫伺服器可以解析外部主機名
ICMP隧道外殼,當沒有TCP / UDP埠可用於直接/反向外殼,但資料庫可以Ping您的盒子
蠻力的'sa'密碼(2種口味:基於字典和增量)
如果找到'sa'密碼,許可權將升級到系統管理員組
創建自定義的xp_cmdshell,如果原始的已被刪除
TCP / UDP埠可以從目標SQL Server掃描到攻擊機器,以便找到目標網路防火牆允許的埠並將其用於反向shell
迴避技術混淆了一些IDS / IPS / WAF
與churrasco.exe集成,通過令牌綁架將許可權升級到w2k3上的SYSTEM
支持CVE-2010-0232,將sqlservr.exe的許可權升級到SYSTEM
地址:https://sourceforge.net/projects/sqlninja/files/sqlninja/sqlninja-0.2.999-alpha1.tgz/download