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之WEB开发调试利器:Firebug 下载
Jan 13 Javascript
Js 冒泡事件阻止实现代码
Jan 27 Javascript
AngularJS入门教程(一):静态模板
Dec 06 Javascript
jQuery、zepto、js常用小技巧
Feb 12 Javascript
jQuery列表检索功能实现代码
Jul 17 jQuery
基于jQuery实现定位导航位置效果
Nov 15 jQuery
vue的状态管理模式vuex
Nov 30 Javascript
命令行批量截图Node脚本示例代码
Jan 25 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 Javascript
react 不用插件实现数字滚动的效果示例
Apr 14 Javascript
解决vue一个页面中复用同一个echarts组件的问题
Jul 19 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 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模板,主要想体现一下思路
2006/12/25 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
PyQt5实现拖放功能
2018/04/25 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
企业精细化管理实施方案
2014/03/23 职场文书
意向协议书范本
2014/04/23 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
借名购房协议书范本
2014/10/06 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书