$ip = "1.1.1.255".chr(0)."haha";
if(ereg("^[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}$",$ip)) {
echo $ip;
} else {
echo "unknown";
}
这个ereg正则限制了$ip的数据为xxx.xxx.xxx.xxx这样的形式,表面上看上面的代码应该输出"unknown",而实际却输出了"1.1.1.255haha",因为ereg函数存在NULL截断漏洞,导致了正则过滤被绕过。4 /2 n+ Y6 |; Z7 O
6 e& b6 C5 F- W- F$ z我们在利用时必须要引入/x00(%00),而在GPC为ON的情况下%00会被转义导致无法利用。但是如果被ereg()处理的是$ _SERVER(在PHP5下可以绕过GPC)或是被urldecode这样的函数处理导致GPC被绕过的数据呢?比如有些程序就用上面的方法验证$ _SERVER提交上来的IP,那么我们就可以利用NULL截断绕过正则过滤来构造我们需要的数据了:)

转载于:https://www.cnblogs.com/zerogo/archive/2009/10/21/2209102.html

PHP下ereg实现匹配ip的正则相关推荐

  1. python re正则提取ip地址_python 正则表达式匹配IP地址

    一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...

  2. shell匹配IP和shell正则匹配捕获引用

    为什么80%的码农都做不了架构师?>>>    在服务器上加了一个服务检测机制,用到正则来匹配IP和捕获分组.shell和其他语言一样也可以使用正则分组捕获,不过不能使用 $1或\1 ...

  3. python正则匹配ip地址_Python正则表达式匹配ip地址实例

    Python正则表达式匹配ip地址实例 更新时间:2014年10月09日 11:22:51 投稿:shichen2014 这篇文章主要介绍了Python正则表达式匹配ip地址实例,通过简单的实例讲述了 ...

  4. 详解一个自己原创的正则匹配IP的表达式

    第一种方法(可以匹配有点毛病):检测IP地址的正则表达式 正则表达式: ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d? ...

  5. php正则配ip,正则表达式匹配IP的表达式(推荐)

    这里给大家详细讲解一下一个匹配IP地址的正则表达式, 有关正则方面的知识,会在详细的讲解中提到. 在讲解之前,我先给大家介绍一下,ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字 ...

  6. java正则匹配ip_使用正则表达式匹配IP地址

    如何使用正则表达式匹配IP地址?这是很常见的任务.说难也难,说易也易,取决于在匹配的精确度以及正则表达式复杂度之间很好的折中. 通常,IP地址以点分十进制方式表示,IP地址分为4段,以点号分隔.要对I ...

  7. 正则匹配ip地址并替换

    正则匹配ip地址并替换 public static String picUrlreplaceIp(String url){if(!TextUtils.isEmpty(url)){String patt ...

  8. python正则匹配ip地址_IP地址正则表达式匹配方法,ip正则表达式匹配

    IP地址正则表达式匹配方法,ip正则表达式匹配 正则表达式(Regular Expression,在代码中常简写为regex.regexp或RE)是计算机科学的一个概念.正则表达式使用单个字符串来描述 ...

  9. python中利用re模块正则表达式匹配ip地址

    python中利用正则表达式判断ipv4地址是否合法 ip地址的范围为0.0.0.0-255.255.255.255,分成四段,则每段的范围都是0-255,因此,以一段进行分析: 在进行书写匹配规则时 ...

  10. 有类和无类路由下的路由匹配原则

    有类和无类路由下的路由匹配原则 使用有类路由:路由器首先匹配主网络号,如果主网络号存在,就继续匹配子网号,且不考虑缺省路由,如果子网 无法匹配,丢弃数据包(在分类路由下,路由器认为知道所有主网络下的全 ...

最新文章

  1. 在Spring3中,配置DataSource的方法有五种
  2. 向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错?
  3. 1689: 营救小明(bfs+priority_queue逆向思维)
  4. mysql workbench入门_5分钟入门MySQL Workbench
  5. HBase核心知识和应用案例
  6. GARFIELD@10-21-2004
  7. linux中如何只拷贝文件夹下的文件,而不包括其子文件夹
  8. Navicat-mysql 中文破解版下载及基础使用教程
  9. 51单片机8路抢答器c语言,51单片机8路抢答器
  10. Windows任务管理器被procexp(Process Explorer)取代后如何恢复
  11. Android studio创建Java测试类
  12. Tomcat官网下载旧版本
  13. 成都学计算机的大学有哪些专业学校,成都市计算机类专业开设的院校有哪些
  14. QC质量管理七大手法
  15. mantelhean.test r语言_Meta分析常用教程:R语言
  16. 2021-09-11
  17. 百度ueditor使图片在编辑器中自适应大小
  18. java graphics2d renderinghints_java - Graphics2D错误 - 堆栈内存溢出
  19. MySQL远程连接的设置
  20. 福昕阅读器 单个标签页单个窗口展示

热门文章

  1. SpringMVC Redirect 跳转后保存Model中的数据
  2. mfc获取控件在对话框上的位置
  3. 这段iframe代码可以盖住dropdownlist
  4. SAP财务管理大全-采购收货-标准成本法 移动平均价
  5. 第九大陆服务器未找到文件,我的世界1.7.x第九大陆生存服务器
  6. BZOJ1027[JSOI2007] 合金
  7. multipartfile获取文件路径_已知路径,通用获取文件名、后缀、类型
  8. win10配置python_win10中的Python安装与环境配置
  9. android 3gpp 播放,Android Market:MoboPlayer 最強悍的免費影片播放程式
  10. python定期自动运行_令人惊叹的8个Python新手工具