PHP下ereg实现匹配ip的正则

2016-02-19 11:32 3 1 收藏

下面是个PHP下ereg实现匹配ip的正则教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - Web开发 】

我们先看个代码片段:
代码如下:

$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截断绕过正则过滤来构造我们需要的数据了:)

来源:http://www.tulaoshi.com/n/20160219/1597825.html

延伸阅读
标签: Web开发
我觉得比ijao简单,但是脑子就是转不过弯。。。。请正则高手看看阿。 代码如下: textarea id="txt"  table border=1 width="20%"                    trthtitle/ththtitle2/th/tr      &n...
标签: PHP
  假如监听127.0.0.1 ,访问共网IP不受影响,假如监听公网IP,127。0。0。1等IP不受影响。 这个可以用于欺骗用户密码,因为原来的服务不可用了。或者留成针对内网用户的后门。 最后欢迎加MSN:CQXY[AT]21CN。NET赐教。 #!/usr/bin/php -q #c0dz by Darkness[BST] #Team:www.bugkidz.org #E-mail:cqxy[at]21cn.net if ($argc != 3 || in_ar...
标签: 服务器
在Linux下实现批量屏蔽IP地址的方法   Netfilter/IPtables 的问题 在Linux中,可以很简单地用netfilter/iptables框架禁止IP地址: 代码如下: $ sudo iptables -A INPUT -s 1.1.1.1 -p TCP -j DROP 如果你想要完全屏蔽一个IP地址段,你可以用下面的命令很简单地做到: 代码如下: $ sudo iptables -A INP...
  arp -i eth0 -s xxx.xxx.xxx.xxx(IP) xx.xx.xx.xx.xx(MAC)  在www.os-security.com上有个模块(linuxEthAdmod.tar.gz),可以动态加载卸载来修改或恢复mac地址.   
标签: Web开发
function is_email($str){ //检验email return preg_match("/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/", $str); } function is_url($str){ //检验网址 return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^\"]) *$/", $str); } function is_qq($str...

经验教程

948

收藏

81
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部