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 data日期初始化的5种方法
Dec 29 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
Mar 03 Javascript
js鼠标悬浮出现遮罩层的方法
Jan 28 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
Apr 07 Javascript
JS实现太极旋转思路分析
Dec 09 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
Dec 14 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
Jan 17 Javascript
浅谈vux之x-input使用以及源码解读
Nov 04 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
Apr 29 Javascript
JS实现简单省市二级联动
Nov 27 Javascript
Vue Element校验validate的实例
Sep 21 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跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
PHP中的表达式简述
2016/05/29 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
js类 from qq
2006/11/13 Javascript
javascript编程起步(第七课)
2007/01/10 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
详解Python的Django框架中的templates设置
2015/05/11 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
英国在线药房:Express Chemist
2019/03/28 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
开朗女孩的自我评价
2014/02/10 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
公司承诺书范文
2014/05/19 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
技术员岗位职责
2015/02/04 职场文书
清洁员岗位职责
2015/02/15 职场文书
golang 实现并发求和
2021/05/08 Golang