Access数据库注入
目錄
Access數據庫
Access數據庫中的函數?
盲注Access數據庫?
Sqlmap注入Access數據庫
Access數據庫
Microsoft Office Access是由微軟發布的關系數據庫管理系統。Microsoft Office Access是微軟把數據庫引擎的圖形用戶界面和軟件開發工具結合在一起的一個數據庫管理系統。它是微軟Office家族的一個成員。Access以它自己的格式將數據存儲在基于Access Jet的數據庫引擎里。Access數據庫屬于文件型數據庫,所以不需要端口號。
在Office 2007之前的Access數據庫文件的后綴是 .mdb ,Office2007及其之后的Access數據庫文件的后綴是 .accdb 。
Access數據庫中沒有注釋符號.因此? /**/? ?、 --? ?和? ?#? ?都沒法使用。
Access是小型數據庫,當容量到達100M左右的時候性能就會開始下降。
Access數據庫不支持錯誤顯示注入,Access數據庫不能執行系統命令。
數據庫文件打開工具:輔臣數據庫瀏覽器
Access數據庫的連接
"Driver={Microsoft Access driver(*.mdb)};dbq=*;uid=admin;pwd=pass;"Access數據庫中的函數?
mid(string,start,length) 這個用來截取字符串的
- ? ? string是要截取的字符串
- ? ? start是截取的字符串開始索引
- ? ? length是要截取的字符串長度?
盲注Access數據庫?
Access數據庫特有的表是:msysobjects? ,所以可以用它來判斷是否是Access數據庫
exists(select*from msysobjects) #如果這條語句正確,說明是Access數據庫Access沒有數據庫的概念,所有的表都是在同一個數據庫下。所以,我們不用去判斷當前的數據庫名,并且access數據庫中也不存在 database()?函數。
對于判斷存在哪些表,只能用以下枚舉的方法來猜測是否存在某某表。?
猜測字段也是一樣,只能通過枚舉來猜測?
猜測完表名和字段名后,我們就看看這個表里面有多少行數據 ,如果>99查詢正確,>100查詢錯誤(這里是查詢錯誤,而不是語法錯誤),說明有100行數據
and (select count(*) from information)>100然后在猜測每個字段具體的數據了?
access數據庫中沒有 limit,就不能限制查詢出來的行數。但是我們可以使用top命令,top 1是將查詢的所有數據只顯示第一行,所以?top3就是顯示查詢出來的前三行數據了
注:在access中,中文也可以用asc函數來表示,例如:asc(mid("中國",1))?表示 中 字的ascii值,可以用 chr?來逆向得出值
Sqlmap注入Access數據庫
爆出access數據庫存在的表,只能利用枚舉的方式爆破。
sqlmap -u "xxx" --tables第一步問我們是否使用公共的庫去爆破,我們選擇:Y;
第二步選擇默認的庫文件:1?
第三步選擇線程數:10
可以看出爆出了兩個數據表:admin 、 specialty
爆出admin數據庫中的列名
sqlmap -u "xxx" -T admin --columns意思和上一步也是一樣的。?
爆出admin表下username列的所有數據
sqlmap -u "xxx" -T admin -C username --dump-all相關文章:整理比較全的Access SQL注入參考
? ? ? ? ? ? ? ? ??Sqlmap使用詳解
? ? ? ? ? ? ? ? ??SQL注入漏洞詳解
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Access数据库注入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 23-35自己总结
- 下一篇: PostgreSQL数据库的注入