簡介:文章分爲三部分:1、概要;2、詳細的思維導圖;3、詳細的解說。
描述:概要包括該文介紹的知識點;詳細的思維導圖更好地理清思路,方便記憶,但對於有些對於作者比較基礎的內容不會有詳細的解釋,建議主動了解;詳細的解說作者會根據思維導圖的綱要添加代碼語句等內容,有時間會添加具體操作,具體步驟,操作結果等內容,添加需要注意的Tips(藍色字體怎樣)。
前面的話:操作學習的環境----Linux環境+docker+sqli-labs。環境配置請看:第一章:SQL注入基礎--1.1Web應用架構分析&1.2 SQLi注入環境搭建或私信我親測有效的資源給你。
Tips:這些都是作者學習過的內容,文字、思維導圖等都是一雙手,後續會連載這系列以及豐富流程說明,歡迎溝通交流、留言,覺得必要的也可收藏關注
1、概要:
1.5 SQL注入流程(沒有時間去把詳細的每一個步驟都寫上操作語句和過程截圖,有時間再寫,不過這小節也主要是大的流程的介紹爲主,後面的章節會細化所有的操作過程)
尋找SQL注入點
目標收集
SQL注入的識別
手工簡單識別
工具識別
高級識別
SQL注入流程
信息收集
數據獲取
提權
2、詳細的思維導圖:
3、詳細的解說:
1.5 SQL注入流程
尋找SQL注入點
目標收集(可以在瀏覽器試一下,Google搜索引擎更棒哦,主要是查出來的會多是國外的,你懂的)
無特定目標:inurl:.php?id=
有特定目標:inurl:.php?id=site:target.com
工具爬取:spider,對搜索引擎和目標網站的鏈接進行爬取
SQL注入的識別(可以在部屬好的sqli-labs的Less-1測試一下)
手工簡單識別
'
and 1=1/and1=2
and '1'='1/and '1'='2
and 1 like 1/and 1 like 2
工具識別(前面忘記說,linux最好是安裝kaili,裏面集齊了諸多滲透神器,sqlmap可直接用)
sqlmap -m filename(filename中保存檢測目標)
sqlmap --crawl(sqlmap對目標網站進行爬取,然後依次進行測試)
高級識別
擴展識別廣度和深度:
SqlMap--level增加測試級別,對header中相關參數也進行測試(如cookie)
sqlmap-r filename(filename中爲網站請求數據,請求數據保存到文件)
利用工具提高識別的效率(可以自己測試下)
BurpSuite +SqlMap
BurpSuite攔截所有瀏覽器訪問提交的數據
BurpSuite擴展插件,直接調用SqlMap進行測試
一些Tips
可以在參數後鍵入“*”來確定想要測試的參數
可能出現注入的點:新聞、登錄、搜索、留言..…
站在開發的角度去尋找
代碼審計:select、post/get
搜索關鍵代碼和函數
梳理業務流程
SQL注入流程
信息收集
數據庫類型
報錯信息
check the manual that corresponds to your
MySQL server version for the right syntax--mysql
Microsoft JET DatabaseEngine 錯誤‘80040e14'--Access
特有語句
函數:version();2、@@version
兩者都--mysql
僅@@version--sqlserver
v$version--oracle
數據庫版本
數據庫用戶
user()--mysql
SYSTEM_USER--sql server
判斷數據庫權限
super_priv--mysql
IS_SRVROLEMEMBER--sql server
數據獲取(這個流程是需要非常明確的)
獲取數據庫信息
獲取當前庫
獲取所有表
獲取表信息
獲取列信息
獲取數據
提權(如果只是檢驗漏洞是否存在,前面足夠了)
根據數據庫權限
執行系統命令
直接提權
SQL Server sa權限
讀文件
讀取數據庫配置文件,嘗試遠程鏈接
讀中間件配置文件,蒐集信息
寫文件
寫webshell到網站目錄