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 相关文章推荐
代码生成器 document.write()
Apr 15 Javascript
用javascript实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
JQUERY1.6 使用方法四 检测浏览器
Nov 23 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
Mar 28 Javascript
Jquery uploadify上传插件使用详解
Jan 13 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
Jul 22 Javascript
JS通过调用微信API实现微信支付功能的方法示例
Jun 29 Javascript
理解Angular的providers给Http添加默认headers
Jul 04 Javascript
JS中的变量作用域(console版)
Jul 18 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 06 Javascript
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
关于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页面跳转实现延时跳转的方法
2016/12/10 PHP
jQuery html()等方法介绍
2009/11/18 Javascript
js获取图片长和宽度的代码
2009/11/24 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
python函数的5种参数详解
2017/02/24 Python
python中模块的__all__属性详解
2017/10/26 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
高中生的学习总结自我鉴定
2013/10/26 职场文书
财务人员求职自荐书范文
2014/02/10 职场文书
先进集体事迹材料
2014/02/17 职场文书
元宵晚会主持词
2014/03/25 职场文书
水电维修专业推荐信
2014/09/06 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记