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 13 Javascript
基于jQuery实现的菜单切换效果
Oct 16 Javascript
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
在vue组件中使用axios的方法
Mar 16 Javascript
利用vscode调试编译后的js代码详解
May 14 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
Nov 19 Javascript
vue+element实现打印页面功能
May 20 Javascript
JavaScript命令模式原理与用法实例详解
Mar 10 Javascript
vue通过接口直接下载java生成好的Excel表格案例
Oct 26 Javascript
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
idea编译器vue缩进报错问题场景分析
Jul 04 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
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
使用PHP的日期与时间函数技巧
2008/04/24 PHP
php关联数组快速排序的方法
2015/04/17 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
测试你的JS的掌握程度的代码
2009/12/09 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
JS表单传值和URL编码转换
2018/03/03 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
使用Python的turtle模块画图的方法
2017/11/15 Python
python 读入多行数据的实例
2018/04/19 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
python 视频逐帧保存为图片的完整实例
2019/12/10 Python
Python递归函数特点及原理解析
2020/03/04 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
Python中常见的数制转换有哪些
2020/05/27 Python
python 利用toapi库自动生成api
2020/10/19 Python
如何在Shell脚本中使用函数
2015/09/06 面试题
在校生钳工实习自我鉴定
2013/09/19 职场文书
土木工程师岗位职责
2013/11/24 职场文书
优秀党员先进材料
2014/12/18 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
总结python多进程multiprocessing的相关知识
2021/06/29 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python