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注入漏洞
--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注入漏洞
相关文章推荐
- SQL注入攻击与防御学习笔记一
- SQL注入攻击与防御(第2版)_读书笔记2_未完待续
- 《sql注入攻击与防御 第2版》的总结 之 如何确定有sql注入漏洞
- C++ Primer Plus 读书笔记 (1 -2 章)
- 再谈读书笔记
- 《软件测试的有效方法(第2版)》笔记(二)
- 《软件测试的有效方法(第2版)》笔记(一)
- 再谈读书笔记
- 《重构》 读书笔记 (1)
- 读书笔记-----Button向另一个页面传值
- Agile Web Development with Rails 读书笔记 (四)
- 读书笔记--Jakarta Struts编程
- The C++ Programming Language 读书笔记1
- 读书笔记--
- UML学习-- 读书笔记1
- Web环境下SQL注入攻击的检测与防御
- 读书写笔记-王爽《汇编语言》
- windows游戏编程大师技巧--读书笔记1
- Agile Web Development with Rails 读书笔记 (一)
- 读书写笔记-王爽《汇编语言》