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 传统事件模型构造的事件监听器实现代码
May 31 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
Feb 23 Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
Sep 03 Javascript
jQuery中extend函数详解
Feb 13 Javascript
深入学习JavaScript中的原型prototype
Aug 13 Javascript
Node.js Express 框架 POST方法详解
Jan 23 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
Sep 11 jQuery
使用Angular CLI进行Build(构建)和Serve详解
Mar 24 Javascript
学习React中ref的两个demo示例
Aug 14 Javascript
Angular angular-file-upload文件上传的示例代码
Aug 23 Javascript
原生JS封装拖动验证滑块的实现代码示例
Jun 01 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 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
python实现2048小游戏
2015/03/30 Python
基于python时间处理方法(详解)
2017/08/14 Python
解决python3 json数据包含中文的读写问题
2018/05/10 Python
Django实现学生管理系统
2019/02/26 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
教师求职推荐信范文
2013/11/20 职场文书
自我评价如何写好?
2014/01/05 职场文书
工作时间上网检讨书
2014/02/03 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
迎新生晚会主持词
2015/06/30 职场文书
校园开放日新闻稿
2015/07/17 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL