今天就給大家帶來access數據庫注入,access數據庫是微軟開發的一個數據庫,大多數被中小型企業使用,我們前面的文章也有講到過,access數據庫跟MySQL、mssql、Oracle等數據庫不一樣,它就是一個獨立的數據庫,并不像mysql這些數據庫有自帶的數據庫(mysql中的information_schema),所以我們在進行注入的時候需要用到不一樣的方法。
首先這個是我們自己搭建的一個靶場進行演示,靶場的頁面是這樣的,那么的話,按照我們之前講的sql注入,還是以參數去進行注入
那么大概的步驟還是跟mysql數據庫注入的方式一模一樣, and 1=1正常,and 1=2返回錯誤,那么它這里提交的命令可被帶入到數據庫被執行,那么就說明存在注入
-1和單引號也可以判斷是否存在sql注入,因為-1就是減從1513減去1,然后返回1512的頁面,如果顯示了,那么就說明存在sql注入。
判斷完之后就是猜列數。order by30,它這里出現了報錯,那么就說明沒有30
直到22,它這里才返回了正常。說明列數有22個
22個,它這里想要用到聯合查詢就必須知道表名。但是咱們不能像mysql那樣用到顯錯注入,那這個時候我們可以用利用字典去爆破表名。我們也可以用到一些常見的表名字典,比如說admin、user、pass、password、username,查詢user是否存在,它這里提示錯誤,不存在
當我指定admin表。就可以看見admin表是存在的,并且爆出了可注入的字段位置3和15
也可以通過burp去暴力破解(想要好的字典可私信我發送)
咱們用工具去跑,那么就有sqlmap以及我們老工具"啊d",如果說sqlmap是最擅長跑sql注入的,那么啊d就是專門跑access數據庫的,因為sqlmap請求的線程大,而啊d請求的線程小,那么的話不容易被waf和安全軟件攔截和封IP,這里的話用啊d最合適不過的
上面我們通過各種方法獲取表后,那么我們就可以通過類似的方法去獲取列名,比如說我們常見的列名有id、user、user_admin、admin、password等列名,那我們這個時候就可以試著嘗試用這些列名去看看,說不定其實一個就是。
也可以通過啊d這款工具進行一方面的注入
當然同樣可以通過burp進行爆破獲取
那么今天的文章就當這里
最后喜歡我文章的朋友請加圈子關注我們,私信關鍵詞:加群。
就會自動分享給你群號。歡迎大家加入我們的安全大家庭。提高大家的安全意識,提升大家的網絡安全技能一直是我們的初衷和愿景,讓我們共同成為守護信息世界的“SaFeMAN”。
還有可以關注我們微信公眾號,在公眾號上輸入安界網,就可以關注到我們。