SQL注入攻击与防御学习笔记一
来源:互联网 发布:点卡回收源码 编辑:程序博客网 时间:2024/06/04 08:16
1、不同数据库的简单识别方法:
(1)oracle和postgresql数据库,向web服务器发送如下请求:
http://www.victim.com/showproducts.php?category=bikes(原始) 测试:bi ' || ' kes
(2)microsoft sql server数据库,向web服务器发送如下请求:
http://www.victim.com/showproducts.php?category=bikes(原始) 测试:bi ' + ' kes
(3)mysql数据库,向web服务器发送如下请求:
http://www.victim.com/showproducts.php?category=bikes(原始) 测试:bi ' ' kes
2、用户请求触发数据库错误时,web构造返回的场景:
(1)将SQL错误显示在页面上,它对web浏览器用户可见。
(2)将SQL错误隐藏在web页面的源代码中以便于调试。
(3)检测到错误时跳转到另一个页面。
(4)返回HTTP错误代码500(内部服务器错误)或HTTP重定向代码302.
(5)应用适当地处理但不显示结果,可能会显示一个通用的错误页面。
3、使用一些技术来检索嵌入在数据库返回错误中的信息,第一种是通过将字符串转换到整数来产生错误。
例如:index.php?id=1 and 1=0/@@version(或者0/user);-- 产生错误syntax error converting the nvarchar value 'microsoft sql server 2000-8.00.760....' to a column of data type int.
第二种 having 1=1技术(原理:group by要求select语句选择的字段是某个聚合函数的结果或者包含在group by字句中。如果该条件不满足,那么数据库会返回一个错误,显示出现该问题的第一列。
index.php?id=bike' having '1'='1 产生错误columns 'products.productid' is invalid in the select list because it is not contained in an aggregate function and there is no group by clause.
可以使用该技术和group by 来枚举select语句中所有的列:
- SQL注入攻击与防御学习笔记一
- SQL注入攻击与防御
- SQL注入攻击与防御
- SQL注入攻击与防御
- SQL注入攻击与防御
- SQL注入攻击与防御
- SQL注入攻击与防御
- 《SQL注入攻击与防御》
- SQL注入攻击与防御
- 《SQL注入攻击与防御第2版》笔记
- SQL注入攻击与防御技术
- SQL注入式攻击与防御
- SQL注入攻击与防御介绍
- 《SQL注入攻击与防御》读书笔记
- sql注入攻击与防御第二章
- Spring MVC防御CSRF、XSS和SQL注入攻击 一
- MySQL注入攻击与防御
- Web环境下SQL注入攻击的检测与防御
- 双机或者多机同步
- codeforces 548 C. Mike and Frog
- Android面试必问的Listview getview方法问题
- python拾遗(一)前言
- Putty和Xming创建远程GUI的SSH连接
- SQL注入攻击与防御学习笔记一
- 【Android】将图片转换为圆角
- malloc源码分析---4
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- Volley框架之二 基本流程
- 在java环境中有一个专门的获取ttf文件的头信息的Font类
- AFNetWorking用法及缓存处理
- 2015广工新生赛 Problem D: 求互质对数
- 自定义view实现圆角图片