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 全兼容可高亮二级缓冲折叠菜单
Jun 04 Javascript
jQuery写的日历(包括日历的样式及功能)
Apr 23 Javascript
jQuery数据缓存功能的实现思路及简单模拟
May 27 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
Apr 06 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
Jun 06 Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 Javascript
JS实现的二叉树算法完整实例
Apr 06 Javascript
webpack组织模块打包Library的原理及实现
Mar 10 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
Jan 30 Javascript
javascript操作向表格中动态加载数据
Aug 27 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中count获取多维数组长度的方法
2014/11/03 PHP
类之Prototype.js学习
2007/06/13 Javascript
javascript hashtable实现代码
2009/10/13 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
python操作redis的方法
2015/07/07 Python
Python使用爬虫猜密码
2016/02/19 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python使用folium excel绘制point
2019/01/03 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
优良学风班总结材料
2014/02/08 职场文书
意向协议书范本
2014/04/23 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python