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 相关文章推荐
jQuery 学习入门篇附实例代码
Mar 16 Javascript
javascript四舍五入函数代码分享(保留后几位)
Dec 10 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
Javascript简单改变表单元素背景的方法
Jul 15 Javascript
javascript记住用户名和登录密码(两种方式)
Aug 04 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
Apr 01 Javascript
移动端界面的适配
Jan 11 Javascript
bootstrap输入框组件使用方法详解
Jan 19 Javascript
基于vue-video-player自定义播放器的方法
Mar 21 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
Oct 31 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
使用vue3重构拼图游戏的实现示例
Jan 25 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 图像处理类1
2009/06/15 PHP
深入php多态的实现详解
2013/06/09 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
javascript时区函数介绍
2012/09/14 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
解决vue无法设置滚动位置的问题
2018/10/07 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
python开发之thread实现布朗运动的方法
2015/11/11 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
优秀求职信范文分享
2014/01/26 职场文书
营销总经理岗位职责
2014/02/02 职场文书
高中课程设置方案
2014/05/28 职场文书
消防安全宣传口号
2014/06/10 职场文书
管理标语大全
2014/06/24 职场文书
员工安全生产责任书
2014/07/22 职场文书
2014年班级工作总结
2014/11/14 职场文书
市场部经理岗位职责
2015/02/02 职场文书
2015年党建工作总结
2015/03/30 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书