您的位置:首页 > 数据库

SQL注入攻击与防御(第2版)_读书笔记1

2014-07-10 22:51 288 查看
数据库系统表

--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注入漏洞
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: