数据库系统表
--Oracle语句,列举当前数据库可访问的所有表
SELECT OWNER, TABLE_NAME FROM ALL_TABLESORDER BY TABLE_NAME;
--MySQL语句,列举当前用户可访问的所有表和数据库
SELECT table_schema, table_name FROMinformation_schema.tables;
--MSSQL语句,使用系统表列举所有可访问的表
SELECT name FROM sysobjects WHERE xtype ='U';
--MSSQL语句,使用目录视图列举所有可访问的表
SELECT name FROM sys.tables;
MySQL数据库中的INFORMATION_SCHEMA虚拟数据库不可能隐藏或取消
Oracle数据库中数据字典的访问也不能取消或者隐藏(它是一个视图),但是可以修改视图,
Oracle不提倡
MSSQL可以取消对INFORMATION_SCHEMA、system和sys.*表的访问,但会破坏某些功能.
修改数据插件:
FireFox:Web Developer、Tamper Data、SQL Inject ME
Chrome: Web Developer
Web Developer实现显示隐藏字段,清除大小限制,将所选HTML字段转换成输入字段等任务;
Tamper Data查看并修改HTTP和HTTPS请求中的头和POST参数;
SQL Inject Me借助在HTML页面中找到的表单字段来发送数据库转移字符串.
代理服务器:
FireFox:FoxyProxy p23
等价请求:
--Oracle和PostgreSQL
http://www.victim.com/showproducts.php?category=bike
http://www.victim.com/showproducts.php?category=bi'||'ke
Microsoft SQL Server
http://www.victim.com/showproducts.php?category=bike
http://www.victim.com/showproducts.php?category=bi'+'ke
MySQL(注意引号中的空格)
http://www.victim.com/showproducts.php?category=bike
http://www.victim.com/showproducts.php?category=bi''ke
如果两个请求结果相同,很可能存在SQL注入漏洞