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的几种方法小结
Apr 25 Javascript
jquery ajax例子返回值详解
Sep 11 Javascript
javascript每日必学之运算符
Feb 16 Javascript
AngularJs Javascript MVC 框架
Jun 20 Javascript
jQuery判断是否存在滚动条的简单方法
Sep 17 Javascript
vue 中directive功能的简单实现
Jan 05 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
Aug 24 Javascript
详解Vue、element-ui、axios实现省市区三级联动
May 07 Javascript
JS如何把字符串转换成json
Feb 21 Javascript
vue2路由基本用法实例分析
Mar 06 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
Apr 08 Javascript
vue axios封装httpjs,接口公用配置拦截操作
Aug 11 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 VS ASP
2006/10/09 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
js精度溢出解决方案
2012/12/02 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
详解Python3.1版本带来的核心变化
2015/04/07 Python
Python中is与==判断的区别
2017/03/28 Python
Python随机函数random()使用方法小结
2018/04/29 Python
10款最好的Python开发编辑器
2019/07/03 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
python TCP包注入方式
2020/05/05 Python
How to spawning asynchronous work in J2EE
2016/08/29 面试题
八年级音乐教学反思
2014/01/09 职场文书
初三家长会邀请函
2014/01/18 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
纠纷协议书
2014/04/16 职场文书
指导教师评语
2014/04/26 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python