PHP中is_numeric函数十六进制绕过0day

0×00 简介
国内一部分CMS程序里面有用到过is_numberic函数,我们先看看这个函数的结构
bool is_numeric ( mixed $var )
如果 var 是数字和数字字符串则返回 TRUE,否则返回 FALSE。

0×01 函数是否安全
接下来我们来看个例子,说明这个函数是否安全

$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参数的值
程序运行后,我们查询数据库看看,如下图:

如果再重新查询这个表的字段出来,不做过滤带入另一个SQL语句,将会造成2次注入.
0×02 总结
尽量不要使用这函数,如果要使用这个函数,建议使用规范的sql语句,条件加入单引号,这样16进制0x31206f722031就会在数据库里显示出来。而不会出现1 or 1。

转载于:https://www.cnblogs.com/wjvzbr/p/7538138.html

PHP中is_numeric函数十六进制绕过0day相关推荐

  1. php中sha1,PHP中sha1()函数和md5()函数的绕过

    相信大家都知道,sha1函数和md5都是哈希编码的一种,在PHP中,这两种编码是存在绕过漏洞的. PHP在处理哈希字符串时,会利用"!="或"=="来对哈希值进 ...

  2. python print函数用法_Python3.2中Print函数用法实例详解

    本文实例讲述了Python3.2中Print函数用法.分享给大家供大家参考.具体分析如下: 1. 输出字符串 >>> strHello = 'Hello World' >> ...

  3. php 格式化评论量函数,深入剖析PHP中printf()函数格式化使用

    printf()函数优点在于可以格式化输出! printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ② ...

  4. format函数python的顺序_[转载] Python中format函数用法

    Python中format函数用法 format优点 format是python2.6新增的格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能 ...

  5. python中find函数忽略大小写_python字符串(大小写、判断、查找、分割、拼接、裁剪、替换、格式化)...

    一.通用操作 1.Python len() 方法返回对象(字符.列表.元组等)长度或项目个数. 语法 len()方法语法: len( q ) 参数 q -- 对象. 返回值 返回对象长度. 实例 以下 ...

  6. c语言 内存搜索,怎么在一段内存中搜索一个十六进制串

    如何在一段内存中搜索一个十六进制串? 比如有长度为N,首地址为P的内存,搜索其中的内容是否包含有"001122ff"这样的串?如何能高效搜索?谢谢 ------解决方案------ ...

  7. 10.4.4 使用ctypes调用kernel32.dll中的函数

    10.4.4 使用ctypes调用kernel32.dll中的函数 2007-10-17 14:41 孙广磊 人民邮电出版社 字号:T | T 综合评级: 想读(5)  在读(0)  已读(6)   ...

  8. C++中虚函数工作原理和(虚)继承类的内存占用大小计算

    转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7883531 一.虚函数的工作原理       虚函数的实现要求对象携带额 ...

  9. 在内存中读取函数的ShellCode并执行

    在内存中读取函数的ShellCode并执行 下面是一个例子,实现的效果是将fun1函数的十六进制读取出来,在内存中将str1的地址改成str2,分配一块内存,将改好的函数的ShellCode写入并执行 ...

最新文章

  1. kettle中的switch_Kettle学习笔记(二)— 基本操作
  2. mysql工具使用意义_MySQL性能分析、及调优工具使用详解
  3. Typora开始收费,介绍几款免费的MarkDown编辑器
  4. JQ和Js获取span标签的内容
  5. Ubuntu SSH Algorithm negotiation failed
  6. 一起学WindowsPhone7开发(二十六. Advertising)
  7. java http 工具类_Java发送Http请求工具类
  8. 【如何制作电子书】云展网教程 | 编辑纯文本阅读页面功能(有利于SEO收录)
  9. You can't specify target table 'UpdateInfo' for update in FROM clause
  10. 【Leetcode】1925. Count Square Sum Triples
  11. vs2013如何调用监视窗口实现调试(如何打断点、逐步调试、逐过程调试、退出调试、条件调试)
  12. sourceTree细节安装
  13. 10.3国庆作业(UART实验)
  14. 如何下载某个网站的ico图标
  15. 为TreeView正色
  16. 渗透测试-SQL注入之sqlmap的使用方法及实战案例
  17. 墨尔本大学计算机本科学费,墨尔本大学学费一年多少?墨尔本大学学费贵吗?...
  18. List拆分为多个list
  19. 一. HTML基础介绍
  20. Redis 大key与热key

热门文章

  1. Mysql数据库基础系列(二):表结构、键值
  2. nfs参数介绍与写法示例及报错( Operation not permitted)
  3. MySQL 分库分表与分区的区别和思考
  4. 从七个方面,面试大厂高级工程师
  5. 「mysql优化专题」你们要的多表查询优化来啦!请查收(4)
  6. Java线程详解(8)-线程的同步
  7. 区分TTL、MSL、RTT
  8. Android可输入的下拉框,android 可编辑的下拉框 Demo
  9. iphone刷基带_iphone7基带坏了怎么办,iphone7基带修复多少钱
  10. linux7双网卡设置,Centos 7 静态IP和双网卡配置