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代码加载优化方法
Jan 30 Javascript
Javascript小技巧之生成html元素
May 15 Javascript
Node.js模块封装及使用方法
Mar 06 Javascript
逻辑表达式中与或非的用法详解
Jun 06 Javascript
用js动态添加html元素,以及属性的简单实例
Jul 19 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
Aug 29 Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
May 08 Javascript
vue时间格式化实例代码
Jun 13 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 Javascript
20道JS原理题助你面试一臂之力(必看)
Jul 22 Javascript
原生js实现五子棋游戏
May 28 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连接Access数据库的方法小结
2013/06/20 PHP
php中的静态变量的基本用法
2014/03/20 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
php strftime函数的详细用法
2018/06/21 PHP
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
[03:16]DOTA2完美大师赛小组赛精彩集锦
2017/11/22 DOTA
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
python中ConfigParse模块的用法
2014/09/29 Python
基于python绘制科赫雪花
2018/06/22 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
python实现简单俄罗斯方块
2020/03/13 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
优秀教师事迹简介
2014/02/02 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
投诉信回复范文
2015/07/03 职场文书
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python