手工注入——access手工注入實戰和分析

今天進行了access手工注入,下面是個人實戰過程和總結。數據庫

實戰環境使用的是墨者學院的在線靶場。下面我們直接進入主題。spa

第一步,判斷注入點3d

經過‘ 或者 and 1=1 和 and 1=2 是否報錯,以下圖。blog

接下來我們輸入 and 1=2 發現報錯了,說明存在注入點。以下圖。圖片

第二步,猜數據庫表名io

在access數據庫中,打開裏面直接就是表,因此咱們只能猜表名,經過這條語句 and exists (select * from 表名)常見的一些表名爲 admins users administrator,adminadminsadmin_useradmin_usradmin_msgadmin_loginuserusernamemanagermsg_usermsg_loginuseradmin等。經過猜想,咱們查到 存在admin這個表,這裏用到的原理是,若是存在正常顯示,不存在就報錯,以下圖。原理

第三步,猜想表裏有幾個字段select

經過order by 語句,小於輸出的數字正常顯示,大於輸出的數字報錯。咱們猜出爲四個字段。以下圖。nio

 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。分割線。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。密碼

第四步,猜想字段

經過這條語句 and exists (select 字段 from admin)常見的字段有 username password pass passwd user_name 等

若是對方的數據庫字段較多,我們又猜不出來,而且有回顯位置,能夠嘗試偏移注入。這裏經過直接猜想就猜出來了,以下圖。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。分割線。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

 

根據圖片的內容咱們,咱們猜想出的兩個字段爲,username ,passwd ,根據字段名字咱們就知道里面存放的爲帳號和密碼。

第五步,聯合查詢爆出帳號和密碼

經過這條語句 union select 1,2,3,4 from admin 咱們知道了,2,3,這兩個位置回顯到頁面上,這就是咱們須要的。以下圖。

 

接下來,咱們把以前查找出來的 字段 替換到2,3 兩個位置,語句爲 union select 1,username,passwd,4 from admin 結果爲下圖,爆出了帳號密碼。

 

access 手工注入總結

一、 先判斷有沒有注入點

二、 參數後面加 and exists(select*from admin) 猜表名  返回正常頁面表示存在(admin)

三、 參數後面加 and exists(select username from admin)猜(admin)表中是否存在列名(username) 返回正常頁面表示存在

四、 參數後面加 and exists(select passwd from admin)猜(admin)表中是否存在列名(passwd) 返回正常頁面表示存在

五、 判斷字段數 參數後面加 order by 4 (判斷字段數爲4)

六、 判斷回顯  參數後面加 union select 1,2,3,4 from admin

七、 爆出列名的信息 參數後面加 union select 1,username,passwd,4 from admin

八、獲取到帳號密碼,手工注入結束。

相關文章
相關標籤/搜索