4. 測試sqlmap功能
4.1 使用DVWA測試網站
4.1.1 關于dvwa

這個網站有sql漏洞,專門拿來測試用,不知道是哪位好心人搞出來的
4.1.2 操作
首先登陸成功以後三步走,拿到需要的url
image.png
拿到url以後,就可以使用這個url來注入了
出現如下結果,則表示sqlmap檢測到有可以注入的地方,
ps:如果沒有檢測到可以注入的地方,會顯示如下
image.png
既然檢測到有可以注入的地方,現在我們就來通過這個注入來擷取一些資料庫的資訊
可以看到執行以後拿到了資料庫的資訊
再進一步,擷取資料庫中表的資訊
可以看到,拿到了dvwa這個庫中的所有表的名字
image.png
再進一步,擷取表中的字段資訊
可以看到,拿到了表中的所有字段
4.2 使用本地網站
4.2.1 本地網站是本地的項目,現在用本地的項目跑起來來測試sqlmap
4.2.2 操作--url1
執行:
可以看到,沒有通路到正确的連接配接,而是被重定向到了登陸的login頁面,這是因為這個網站需要登陸,沒有登陸的情況通路連結就會被重定向到登陸頁面,是以在這裡現在浏覽器中登陸,然後拿到浏覽器的cookie,讓sqlmap攜帶着cookie再去攻擊
拿到浏覽器的cookie
執行(攜帶cookie):
執行結果:可以看到,并沒有找到可以注入的地方
image.png
觀察這個網站的日志,也可以看到,這個接口被調用很多次,都是sqlmap自動調用的,它在嘗試尋找可以注入的地方
image.png
4.2.3 操作--url2
同樣攜帶cookie執行:
執行結果,沒有發現可以注入的地方
檢視網站背景,接口同樣被調用多次
4.2.3 操作--url3
url3:127.0.0.1:9099/open/qyxx/jcsj_gs?nsrsbh=110101717802684,這也是一個get請求,但是不同的是,這個接口不需要cookie就可以通路,但是需要攜帶正确的header才可以執行
攜帶header執行:
執行結果,沒有找到可以注入的地方
檢視背景,接口同樣被調用多次
5. 總結
簡單的使用就是這樣,需要一個url,有的可能需要攜帶cookie,有的可能需要攜帶header,
如果找到了注入點,就可以拿到一些資料資訊,但是現在的網站通常也比較難找到可以注入的url。
可以通過這種方式來檢測自己寫的接口是否有被sql注入的風險
關于sqlmap的指令還有更深入的,可以通過-h或者--help來檢視更多的指令操作,比如不想每次執行語句的時候都要手動确認一些選擇項,可以通過--batch指令,讓sqlmap自己去決定。