PHP防SQL注入记录
来源:互联网 发布:下载云端软件 编辑:程序博客网 时间:2024/06/04 21:04
mysql注入历来是php的一个问题,目前主要有以下几种方案:
(1)addslashes函数
(2)mysql_escape_string 和mysql_real_escape_string 函数(将被废弃或已被废弃)
(3)magic_quotes_gpc自动过滤输入(由于效率问题,5.4以后已被强制关闭,无法开启)
(4)使用pdo/mysql驱动查询,消除注入
看了网上的几篇博文,大致知道了注入的基本原理:
通过提交的数据,篡改SQL语句,使得原来的mysql逻辑被篡改,继而修改数据库的数据或者获取数据库的数据;一般有以下几种注入攻击:1. 验证注入:注入“and 1=1”;2. 判断字段数: (1)嵌入order by 1,2,3....直到报错就知道总共字段数 (2)UNION SELECT ...联合查询,不断改变字段数目,直到正常查询时,就是字段数了3. 查询库名:在直到字段数的前提下,通过union select来查询数据库名字数据4. 查表名:前提是查出库名,原理同查询库名5. 查字段:前提是查出表名,原理同查询库名6. 查数据:前提是查出字段名,原理同查询库名
然后呢,防止注入的方法:
1. 对输入字段进行过滤,如对敏感字符(如单引号,双引号等)添加反斜杠2. 使用参数化的过滤性语句(参数化配合mysql的预编译还可以起到加速功能);3. 避免使用解释程序4. 避免出现一些详细的错误消息
注意:
1. addslashes和mysql_escape_string对于GBK编码有漏洞,在GBK下当遇到单引号时,只是将将0xbf27修改为0xbf5c27,还是没将单引号转义;
阅读全文
0 0
- PHP防SQL注入记录
- PHP SQL防注入
- php sql 防注入
- php防sql注入
- php 防sql注入?
- php防sql注入
- php防注入--sql
- php防sql注入
- php防sql注入
- php防sql注入
- PHP防SQL注入处理
- PHP防SQL注入攻击
- PHP防SQL注入的方法
- php防sql注入过滤特殊字符
- PHP防SQL注入的方法
- mysql防sql注入的php函数
- PHP的几个防SQL注入函数
- 【PHP】防 SQL 注入和开发安全
- linux系统java环境配置命令和MySql数据库之简化版(转自王大锤大神)
- K-means 和 K-medoids算法聚类分析
- ECMAScript6(4):字符串类型扩展
- BZOJ 1042 硬币购物 (数论 容斥)
- matlab保存figure中的图片去掉白边
- PHP防SQL注入记录
- 93 C语言数组指针(指向数组的指针)
- android studio的adb端口被占解决方法
- 自学Java之Java编程(序列化和查看对象)(016day)
- USACO-section 1.3 Prime Cryptarithm[hash]
- 解决configure: error: Please reinstall the libcurl
- 微信开发 提示 Redirect_uri参数错误
- 蓝桥杯训练:递归——f(n)=1^2+2^2+……+n^2
- 数组和链表的区别