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判断鼠标左、中、右键哪个被点击的方法
Jan 27 Javascript
使用javaScript动态加载Js文件和Css文件
Oct 24 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
详解vue嵌套路由-params传递参数
May 23 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
JS中call和apply函数用法实例分析
Jun 20 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
Jan 16 Javascript
详解vue中axios的使用与封装
Mar 20 Javascript
jQuery HTML css()方法与css类实例详解
May 20 jQuery
解决Vue-Router升级导致的Uncaught (in promise)问题
Aug 07 Javascript
Vue页面渲染中key的应用实例教程
Jan 12 Vue.js
一篇文章学会Vue中间件管道
Jun 20 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
JS加ASP二级域名转向的代码
2007/05/17 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Python实现全角半角转换的方法
2014/08/18 Python
Python迭代器和生成器介绍
2015/03/06 Python
python实现爬取千万淘宝商品的方法
2015/06/30 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
Python多进程并发与多线程并发编程实例总结
2018/02/08 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
2013年入党人员的自我鉴定
2013/10/25 职场文书
村官学习十八大感想
2014/01/15 职场文书
鉴定评语大全
2014/05/05 职场文书
2014年党支部承诺书
2014/05/30 职场文书
2015年教师新年寄语
2014/12/08 职场文书
鲁迅故居导游词
2015/02/05 职场文书
起诉书格式范文
2015/05/20 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis