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中的一些定位属性[图解]
Jul 14 Javascript
基于jQuery实现多层次的手风琴效果附源码
Sep 21 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
Jun 12 Javascript
bootstrap基础知识学习笔记
Nov 02 Javascript
基于JavaScript实现全选、不选和反选效果
Feb 15 Javascript
js判断PC端与移动端跳转
Dec 24 Javascript
Angular 4.0学习教程之架构详解
Sep 12 Javascript
浅析node应用的timing-attack安全漏洞
Feb 28 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
vue权限路由实现的方法示例总结
Jul 29 Javascript
使用vue-router切换页面时实现设置过渡动画
Oct 31 Javascript
实例讲解JavaScript 计时事件
Jul 04 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生成静态html文件的三种方法
2013/06/18 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
策划创业计划书
2014/02/06 职场文书
班级口号大全
2014/06/09 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
个人授权委托书样本
2014/09/13 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
创先争优承诺书
2015/01/20 职场文书
交通事故起诉书
2015/05/19 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS