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 Array.remove() 数组删除
Aug 06 Javascript
js判断当前浏览器类型,判断IE浏览器方法
Jun 02 Javascript
Node.js中使用计时器定时执行函数详解
Aug 15 Javascript
js重写alert控件(适合学习js的新手朋友)
Aug 24 Javascript
JavaScript操作URL的相关内容集锦
Oct 29 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 Javascript
移动端脚本框架Hammer.js
Dec 15 Javascript
jQuery插件Echarts实现的渐变色柱状图
Mar 23 jQuery
Vue源码解读之Component组件注册的实现
Aug 24 Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 Javascript
小程序富文本提取图片可放大缩小
May 26 Javascript
js实现星星海特效的示例
Sep 28 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的session cookie错误
2009/08/09 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
Python算法应用实战之队列详解
2017/02/04 Python
Python实现的异步代理爬虫及代理池
2017/03/17 Python
python机器学习之决策树分类详解
2017/12/20 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Python实现异步IO的示例
2020/11/05 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
银行会计财务工作个人的自我评价
2013/10/29 职场文书
整改通知书
2015/04/20 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技