php is_numberic函数造成的SQL注入漏洞


Posted in Javascript onMarch 10, 2014

一、is_numberic函数简介
国内一部分CMS程序里面有用到过is_numberic函数,我们先看看这个函数的结构
bool is_numeric (mixed $var)
如果 var 是数字和数字字符串则返回 TRUE,否则返回 FALSE。
二、函数是否安全
接下来我们来看个例子,说明这个函数是否安全。

$s = is_numeric($_GET['s'])?$_GET['s']:0;
$sql="insert into test(type)values($s);";  //是 values($s) 不是values('$s')
mysql_query($sql);

上面这个片段程序是判断参数s是否为数字,是则返回数字,不是则返回0,然后带入数据库查询。(这样就构造不了sql语句)
我们把‘1 or 1' 转换为16进制 0x31206f722031 为s参数的值
程序运行后,我们查询数据库看看,如下图:
php is_numberic函数造成的SQL注入漏洞
如果再重新查询这个表的字段出来,不做过滤带入另一个SQL语句,将会造成2次注入.
三、 总结
尽量不要使用这函数,如果要使用这个函数,建议使用规范的sql语句,条件加入单引号,这样16进制0x31206f722031就会在数据库里显示出来。而不会出现1 or 1。
Javascript 相关文章推荐
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
Feb 25 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
May 03 Javascript
JavaScript的内存释放问题详解
Jan 21 Javascript
JavaScript实现把数字转换成中文
Jun 29 Javascript
js判断输入字符串是否为空、空格、null的方法总结
Jun 14 Javascript
AngularJs expression详解及简单示例
Sep 01 Javascript
使用BootStrapValidator完成前端输入验证
Sep 28 Javascript
bootstrap vue.js实现tab效果
Feb 07 Javascript
Angular 4依赖注入学习教程之简介(一)
Jun 04 Javascript
angular.extend方法的具体使用
Sep 14 Javascript
vue如何安装使用Quill富文本编辑器
Sep 21 Javascript
使用JavaScript保存文本文件到本地的两种方法
Jan 22 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 #Javascript
使用js操作css实现js改变背景图片示例
Mar 10 #Javascript
红米手机抢购的js代码
Mar 10 #Javascript
按下回车键指向下一个位置的一个函数代码
Mar 10 #Javascript
用js判断输入是否为中文的函数
Mar 10 #Javascript
用IE重起计算机或者关机的示例代码
Mar 10 #Javascript
屏蔽相应键盘按钮操作
Mar 10 #Javascript
You might like
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
学习jquery之一
2007/04/27 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
jQuery中get方法用法分析
2016/12/07 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
浅析Git版本控制器使用
2017/12/10 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
Python enumerate内置库用法解析
2020/02/24 Python
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
演讲稿怎么写
2014/01/07 职场文书
北京大学自荐信范文
2014/01/28 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
庆国庆活动总结
2014/08/28 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
丧事答谢词大全
2015/09/30 职场文书