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 相关文章推荐
checkbox设置复选框的只读效果不让用户勾选
Aug 12 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
Oct 11 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
Nov 28 Javascript
解决checkbox的attr(checked)一直为undefined问题
Jun 16 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
Jan 19 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
May 25 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
Oct 04 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 Javascript
详解Angular2 之 结构型指令
Jun 21 Javascript
Js利用prototype自定义数组方法示例
Oct 20 Javascript
ES6基础之默认参数值
Feb 21 Javascript
Vue v-text指令简单使用方法示例
Sep 19 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
javascript之更有效率的字符串替换
2008/08/02 Javascript
javascript显示选择目录对话框的代码
2008/11/10 Javascript
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
python实现的希尔排序算法实例
2015/07/01 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
医学院毕业生自荐信
2013/11/08 职场文书
幼儿园教师辞职信
2014/01/18 职场文书
人事任命书格式
2014/06/05 职场文书
大二学生自我检讨书
2014/10/23 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
2016年国培研修日志
2015/11/13 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js