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 网页水印(非图片水印)实现代码
Mar 01 Javascript
JQuery Easyui Tree的oncheck事件实现代码
May 28 Javascript
读JavaScript DOM编程艺术笔记
Nov 15 Javascript
javascrip关于继承的小例子
May 10 Javascript
js 为label标签和div标签赋值的方法
Aug 08 Javascript
利用JS判断用户是否上网(连接网络)
Dec 23 Javascript
JS实现状态栏跑马灯文字效果代码
Oct 24 Javascript
Knockout自定义绑定创建方法
Dec 26 Javascript
JavaScript实现左右下拉框动态增删示例
Mar 09 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
Nov 06 Javascript
javascript定时器的简单应用示例【控制方块移动】
Jun 17 Javascript
基于layui框架响应式布局的一些使用详解
Sep 16 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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
掌握PHP垃圾回收机制详解
2019/03/13 PHP
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
Js sort排序使用方法
2011/10/17 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
简单的三步vuex入门
2018/05/20 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python复制目录结构脚本代码分享
2015/03/06 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
最新创业融资计划书
2014/01/19 职场文书
司机辞职报告范文
2014/01/20 职场文书
协议书的格式
2014/04/23 职场文书
学校欢迎标语
2014/06/18 职场文书
超市周年庆活动方案
2014/08/16 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
Python基础之pandas数据合并
2021/04/27 Python
原生JS实现飞机大战小游戏
2021/06/09 Javascript