您好,登錄后才能下訂單哦!
這篇文章主要介紹“SQL注入之盲注怎么實現”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“SQL注入之盲注怎么實現”文章能幫助大家解決問題。
回顯注入主要應用于數據庫中的數據可以再網站的頁面上直接展示出來。
報錯注入主要應用于網站的頁面上存在原始報錯信息,數據庫中的數據在原始報錯信息中展示出 來。也被稱為報錯回顯。
原理:由于用戶不可控輸入,攻擊者可以任意的輸入惡意的sql語句,造成sql語義發生改變,從而引起數據庫和操作系統的風險。
風險:數據操作、登錄繞過、文件操作、命令執行、注冊表操作。
防御:過濾、預編譯。
1.數據庫中的數據并不會在頁面上直接展示,將查詢出的結果通過判斷,將判斷之后的結果在頁 面上輸出。如登錄框
2.insert、update、delete等于語法不具備數據的查詢功能,頁面上就不會存在數據庫中的數據。如注冊、信息修改、數據添加
核心
將數據庫中查詢的數據結果進行截斷為單個字符,然后同構造邏輯語句。通過判斷頁面顯示是 否異常或頁面是否演示來判斷數據庫中查詢的結果。
1.bool盲注
如果數據庫中可以查到相應的數據,頁面會正常顯示,反之異常。
2.時間盲注
無論輸入任何數據,頁面的效果完全一樣,根據頁面是否延遲判斷出數據庫中查詢出的結果。
1.找疑似注入點 找輸入點,找與數據庫有交互的地方
2.判斷sql注入是否存在 構造惡意的sql語句,提交后頁面的響應信息與預期保持一致,這說明注入存在。
3.獲取數據庫名
1.獲取當前數據庫名 and ascii(substr((select database()),1,1))=115 2.獲取所有數據庫名 and (select ascii(substr(group_concat(schema_name),1,1)) from information_schema.schemata)>0
3.計算出獲取數據的長度
and (select length(group_concat(schema_name)) from information_schema.schemata)>10 --+
4.獲取表
5.獲取列
6.獲取數據
and if(((select database())='a'),sleep(5),0)--+
可以發生回顯、報錯、bool注入的地方都可以發生時間盲注,反之不行 可以發生回顯報錯的地方一定可以bool型盲注,反之不行。
sql注入自動化工具,python2開發的,可以兼容python3。sqlmap的使用實際上就是模擬人對網站的請求過程,可以對獲取的數據做收集分析然后展示。
python sqlmap.py -h 查看sqlmap可使用的參數 -u 網站的url 向sqlmnap提供注入點
–dbs 獲取所有數據庫名
-D 指定庫 --tables 獲取指定數據庫中所有的表的信息
-D 指定庫 -T 指定表 --columns
-D 指定庫 -T 指定表 -C 列1,列2 --dump
-r ‘文件名’
關于“SQL注入之盲注怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。