3.4 Burpsuite抓包配合sqlmap實施SQL注入
在sqlmap中通過URL進行注入是很常見的,近些年隨着安全防護軟硬件的部署及安全意識的提高,普通URL注入點已經越來越少了,但在CMS中常常會存在一些其他類型的注入,這類注入往往會發生在登錄系統后台,那么針對這些需要登錄到后台的sql注入,我們可以通過sqlmap讀取HTTP請求進行注入
3.4.1 sqlmap使用方法
sqlmap.py -r REQUESTFILE
上述的玩法非常經典,可以避免一些參數比如:配置Cookie,Post數據等,如果是https記得需要加上參數--force-ssl ,或者在Host加上443,再簡單的理解,只要你看到登錄窗口,要判斷登錄窗口的登錄過程提交的參數是否存在SQL注入漏洞就可以通過抓包的形式,然后保存在本地使用sqlmap的-r參數進行sql注入,同時也可以指定登錄參數的名稱記得加上參數 -p
3.4.2 Burpsuite抓包
這個我就不講了,我的專題課程Burpsuite中已經詳細講解了,地址:https://mp.weixin.qq.com/s/8SJ3HBUa_e6IIevamlB2Yg
3.4.3 使用sqlmap進行注入
1. SQL注入檢測
sqlmap.py -r bmfx.txt --batch
bmfx.txt是抓包的HTTP請求包 --batch是自動應答
2. 檢測所有的參數
使用-r參數讀取HTTP請求包,如果這個請求包里面含有很多參數,並且都存在注入漏洞,那么就會跟你交互問你是否需要測試其他參數,一般建議都測試下,這樣可選擇性就多了,選擇一個注入速度快的參數進行注入是最好的 ,這里如果使用了--batch參數,大家去測試下是否是測試所有參數,如果不是那么就手動操作吧
3. 多個注入點選擇測試注入
這里推薦優先選擇速度快的,一般是第一個
4. 后續注入與sqlmap的普通注入原理相同
sqlmap.py -r bmfx.txt -o --current-db
這里作者的意思前幾小節都講了,注入套路是一樣的,這里我也就不再過多的贅述了,大家直接我看上一小節就可以知道整個sqlmap常規注入套路
5. X-Forwarded-For注入
sqlmap.py -r bmfx.txt -p "X-Forwarded-For"
3.4.4 使用技巧和總結
1. 通過Burpsuite進行抓包注入,需要登錄后台進行,通過執行查詢等交互動作來獲取隱含參數,對Post和Get動作進行分析,並將其"send to repeater" 后保存為文件,再放入到sqlmap中進行測試
2. 聯合查詢對數據庫中的數據獲取速度快,對於時間注入等,最好僅僅去部分數據如后台管理員表中的數據
3. 優先查看數據庫當前權限,如果是最高權限用戶,可以獲取密碼和shell操作,例如:--os-shell 或者 --sql-shell
4. 對於存在登錄的地方可以進行登錄抓包注入,注意,帶登錄密碼或用戶名參數
sqlmap.py -r bmfx.txt -p tfupass
參考:
因為這一小節我之前在Burpsuite實戰指南這套課程有講到過,並且比這自動化一點,作者這個思路目標是專門針對登錄窗口的情景進行講解,理解作者意圖很重要,所以大家看完這章后可以再觀看我講的Burpsuite實戰指南的專題課程,課程地址如下:
https://mp.weixin.qq.com/s/eRc4jx30gR3tO55mo6QmMg