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代码超级推荐
Apr 05 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
Apr 18 Javascript
鼠标滑在标题上显示图片的JS代码
Nov 19 Javascript
详解JavaScript中常用的函数类型
Nov 18 Javascript
解决wx.onMenuShareTimeline出现的问题
Aug 16 Javascript
vue.js实现简单轮播图效果
Oct 10 Javascript
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
详解React服务端渲染从入门到精通
Mar 28 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
Sep 10 Javascript
vue中改变滚动条样式的方法
Mar 03 Javascript
JavaScript实现公告栏上下滚动效果
Mar 13 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
虫族 Zerg 热键控制
2020/03/14 星际争霸
PHP判断远程url是否有效的几种方法小结
2011/10/08 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
原生js实现文件上传、下载、封装等实例方法
2020/01/05 Javascript
python利用百度AI实现文字识别功能
2018/11/27 Python
举例讲解Python常用模块
2019/03/08 Python
python3使用GUI统计代码量
2019/09/18 Python
python编写俄罗斯方块
2020/03/13 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
创联软件面试题笔试题
2012/10/07 面试题
总经理司机职责
2014/02/02 职场文书
什么是就业协议书
2014/04/17 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL