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 相关文章推荐
基于jquery跨浏览器显示的file上传控件
Oct 24 Javascript
Javascript 判断是否存在函数的方法
Jan 03 Javascript
jquery zTree异步加载简单实例分享
Feb 05 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
jquery.post用法示例代码
Jan 03 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
Sep 03 Javascript
js文本框走动跑马灯效果代码分享
Aug 25 Javascript
jQuery对象与DOM对象转换方法详解
May 10 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
Sep 06 Javascript
vue实现简单图片上传
Jun 30 Javascript
如何用JS模拟实现数组的map方法
Jul 30 Javascript
Nest.js散列与加密实例详解
Feb 24 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递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
CI框架常用函数封装实例
2016/11/21 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
python图像处理之镜像实现方法
2015/05/30 Python
python 调用HBase的简单实例
2016/12/18 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
想学画画?python满足你!
2020/12/24 Python
python 将Excel转Word的示例
2021/03/02 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
美术专业自荐信
2014/07/07 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
办公室管理规章制度
2015/08/04 职场文书
开网店计划分析
2019/07/30 职场文书