SQL注入——SQL注入漏洞利用(零)(值得收藏)
一、什么是SQL注入漏洞
攻擊者利用Web應用程序對用戶輸入驗證上的疏忽,在輸入的數據中包含對某些數據庫系
統有特殊意義的符號或命令,讓攻擊者有機會直接對后臺數據庫系統下達指令,進而實現對后
臺數據庫乃至整個應用系統的入侵
二、SQL注入原理
服務端沒有過濾用戶輸入的惡意數據,直接把用戶輸入的數據當做SQL語句執行,從而影響
數據庫安全和平臺安全。
兩個條件
用戶能夠控制輸入
原本程序要執行的SQL語句,拼接了用戶輸入的惡意數據
三、SQL注入過程
①攻擊者訪問有SQL注入漏洞的網站,尋找注入點
②攻擊者構造注入語句,注入語句和程序中的SoL語句結合生成新的sq1語句
③新的sql語句被提交到數據庫中進行處理
④數據庫執行了新的SQL語句,引發SQL注入攻擊
四、SQL注入帶來的危害
繞過登錄驗證:使用萬能密碼登錄網站后臺等
獲取敏感數據:獲取網站管理員帳號、密碼等
文件系統操作:列目錄,讀取、寫入文件等
注冊表操作:讀取、寫入、刪除注冊表等
執行系統命令:遠程執行命令
如通過在用戶名處傳入參數(' or 1=1 -- )進行萬能密碼登錄(注意空格)
輸入字符
formusr =' or 1=1--
formpwd = anything
實際的查詢代碼
SELECT*FROM users WHERE username =' or 1=1-- AND password ='anything'
五、判斷一個HTTP請求是否存在SQL注入的方式
經典:and 1=1 | and 2>1 | or 1=1 |or 1<1
數據庫函數:sleep(4)=1 | length(user())>3
特殊符號:單引號(')雙引號(")
六、SQL注入分類
按照注入點類型分類
數字型(整型)注入
字符型注入
搜索型注入
按照注入技術(執行效果)分類
基于布爾的盲注 即可以根據返回頁面判斷條件真假的注入。
基于時間的盲注 即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延退語句是否執行
基于報錯的注入 即頁面會返回錯誤信息,或者把注入的語句的結果直接返回在頁面中
聯合查詢注入?????? 可以使用union的情況下的注入
堆查詢注入?????????? 同時執行多條語句的注入。
七、SQL注入漏洞形成的原因
動態字符串構建引起
不正確的處理轉義字符(寬字節注入)
不正確的處理錯誤(報錯泄露信息)
不正確的處理聯合查詢
不正確的處理多次提交(二次注入)
后臺存在的問題
后臺無過濾或者編碼用戶數據
數據庫可以拼接用戶傳遞的惡意代碼
錯誤處理不當
詳細的內部錯誤消息顯示給用戶或攻擊者
錯誤信息可以直接給攻擊者提供下一步攻擊幫助
不安全的數據庫配置
>默認賬戶:
SQLServer“sa”作為數據庫系統管理員賬戶;
MySQL使用“root”和“anonymous”用戶賬戶;
Oracle則在創建數據庫時通常默認會創建SYS、SYSTEMSDBSNMP和OUTLN賬戶。
八、權限:
問題:系統和數據庫管理員在安裝數據庫服務器時允許以rootsSYSTEM或Administrator特權系統用戶賬戶身份執行操作。
正確方法:應該始終以普通用戶身份運行服務器上的服務,降低用戶權限,將用戶權限只限于本服務。
九、尋找SQL注入點
(1)GET方法
一種請求服務器的HTTP方法,使用該方法時,信息包含在URL中
點擊一個鏈接時,一般會使用該方法
GET請求方法的格式
?text=value1&cat=value2&num=value3...
修改方法
瀏覽器的導航欄中直接修改即可操縱這些參數
HackBar插件
(2)POST方法
POST是一種用于向Web服務器發送信息的HTTP方法、數據信息無法在URL中看到、可以發送字節大的數據
修改POST包方法
瀏覽器修改擴展(Hackbar)、代理服務器(Burpsuite)
其它注入點數據
Cookie、Host、UserAgent
關于注入點的總結
只要后臺接收前端輸入的數據,并且未對數據進行過濾處理,最后直接進入到數據庫中,從而都能構成威脅。
十、手工注入過程
(1)判斷是否存在注入點;
(2)判斷字段長度(字段數)
(3)判斷字段回顯位置;
(4)判斷數據庫信息;
(5)查找數據庫名;
(6)查找數據庫表;
(7)查找數據庫表中所有字段以及字段值;
(8)猜解賬號密碼;
(9)登錄管理員后臺。
十一、自動化注入工具
(1)SQL注入工具
Salmap、 Havij、Sqlid
(2)ASP\jSP注入工具
NBSI 阿D注入軟件 明小子注入軟件
(3)PHP注入工具
穿山甲注入軟件 海陽頂端注入軟件
SQL注入 ——sql數據庫操作基礎(一)_Gjqhs的博客-CSDN博客
SQL注入——SQLmap的進階使用(十五)_Gjqhs的博客-CSDN博客
SQL注入-SQL注入的WAF繞過(十六)_Gjqhs的博客-CSDN博客
...
更多包括而不限于SQL注入的文章,關注我全部帶走吧(≧?≦)ノ
總結
以上是生活随笔為你收集整理的SQL注入——SQL注入漏洞利用(零)(值得收藏)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL注入-SQL注入的WAF绕过(十六
- 下一篇: SQL注入-基于MySQL的注入提权(十