1.5 SQL注入流程

簡介:文章分爲三部分: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到網站目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章