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 相关文章推荐
js 中将多个逗号替换为一个逗号的代码
Jun 07 Javascript
jquery实现侧边弹出的垂直导航
Dec 09 Javascript
Javascript函数式编程简单介绍
Oct 11 Javascript
JavaScript模版引擎的基本实现方法浅析
Feb 15 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
Aug 10 Javascript
D3.js实现柱状图的方法详解
Sep 21 Javascript
老生常谈javascript中逻辑运算符&&和||的返回值问题
Apr 13 Javascript
详解webpack编译多页面vue项目的配置问题
Dec 11 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
Jun 17 Javascript
JavaScript中变量提升机制示例详解
Dec 27 Javascript
JavaScript原型继承和原型链原理详解
Feb 04 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中路径问题的解决方案
2006/10/09 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
php标签云的实现代码
2012/10/10 PHP
PHP递归调用的小技巧讲解
2013/02/19 PHP
mac下安装nginx和php
2013/11/04 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
js getElementsByTagName的简写方式
2010/06/27 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
2019/08/20 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
python encode和decode的妙用
2009/09/02 Python
python matlibplot绘制3D图形
2018/07/02 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
python绘制封闭多边形教程
2020/02/18 Python
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
大学毕业生通用自荐信范文
2013/10/31 职场文书
廉洁自律承诺书
2014/03/27 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
十八大宣传标语
2014/10/09 职场文书
安全生产先进个人总结
2015/02/15 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书