许多现实的例子中,数据库返回的错误消息将被应用程序截取,并不显示在用户的浏览器上。因此,如果想要查明第一个查询结构,也许只能纯粹靠猜测。但是事实并非如此。大部分
深圳建站公司利用以下三点帮助简化这项任务。
1.如果数据库返回的错误消息被应用程序截获,还是可以轻易确定注入的查询是否得以执行。因此,如果查询已经执行,那么应用程序第一个查询返回的结果后面会增加其他结果。可以据此进行系统的推测,直接查明需要注入的查询结构。
2.许多时候,只需在第一个查询中确定一个使用字符串数据类型的字段就可以达到自己的目的。这足以允许注入任意返回字符串数据的查询并获得其结果,帮助系统性地从数据库中提取任何想要的数据。
3.为使注入的查询能够与第一个查询结合,它不一定要使用完全相同的数据类型。但是,它们不行相互兼容,也就是说,第二个查询中的每种数据类型要么必须与第一个查询中的对应类型完全相同,要么必须隐含地转换到那个类型。数据库会将以个数字值隐含地转换为一个字符串值。实际上,NULL值可别转换成任何数据类型。因此,如果不知道某个特殊字段的数据类型,只需在那个字段输入SWLECT NULL即可。