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+XML 省份和城市之间的联动实现代码
Oct 14 Javascript
JavaScript实用技巧(一)
Aug 16 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
Feb 12 Javascript
javascript面向对象特性代码实例
Jun 12 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
微信小程序开发之toast等弹框提示使用教程
Jun 08 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
Aug 23 Javascript
node.js博客项目开发手记
Mar 16 Javascript
JavaScript变速动画函数封装添加任意多个属性
Apr 03 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 Javascript
使用next.js开发网址缩短服务的方法
Jun 17 Javascript
利用React高阶组件实现一个面包屑导航的示例
Aug 23 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
极典R601SW收音机
2021/03/02 无线电
phpmyadmin操作流程
2006/10/09 PHP
php disk_free_space 返回目录可用空间
2010/05/10 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
基于jquery的15款幻灯片插件
2011/04/10 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
JS烟花背景效果实现方法
2015/03/03 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
详解Python做一个名片管理系统
2019/03/14 Python
Python日期时间Time模块实例详解
2019/04/15 Python
详解Python 最短匹配模式
2020/07/29 Python
Champion官网:美国冠军运动服装
2017/01/25 全球购物
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
大学军训感言
2014/01/10 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
中秋客户感谢信
2015/01/22 职场文书
岗位职责范本大全
2015/02/26 职场文书
论文评审意见
2015/06/05 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android