PHP下ereg实现匹配ip的正则
网络编程
我们先看个代码片段:
6 e& b6 C5 F- W- F$ z我们在利用时必须要引入x00(%00),而在GPC为ON的情况下%00会被转义导致无法利用。但是如果被ereg()处理的是$ _SERVER(在PHP5下可以绕过GPC)或是被urldecode这样的函数处理导致GPC被绕过的数据呢?比如有些程序就用上面的方法验证$ _SERVER提交上来的IP,那么我们就可以利用NULL截断绕过正则过滤来构造我们需要的数据了:)
这个ereg正则限制了$ip的数据为xxx.xxx.xxx.xxx这样的形式,表面上看上面的代码应该输出"unknown",而实际却输出了"1.1.1.255haha",因为ereg函数存在NULL截断漏洞,导致了正则过滤被绕过。4 2 n+ Y6 |; Z7 O
$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";
}
6 e& b6 C5 F- W- F$ z我们在利用时必须要引入x00(%00),而在GPC为ON的情况下%00会被转义导致无法利用。但是如果被ereg()处理的是$ _SERVER(在PHP5下可以绕过GPC)或是被urldecode这样的函数处理导致GPC被绕过的数据呢?比如有些程序就用上面的方法验证$ _SERVER提交上来的IP,那么我们就可以利用NULL截断绕过正则过滤来构造我们需要的数据了:)
[js]用JAVASCRIPT正则表达式限制文本字节数的代码
做项目时自己写一段js给大家。关于文本限制字数的问题,在实际开发中经常用到;主要问题出现在对中文的限制,下面代码就解决关于限制字节数的校
dw(dreamweaver)正则表达式函数列表
刚用teleportpro拉了一个整站到本地所有的超链都被强行加了一句tppabs="..."新装的系统和dreamweaver8就玩了一把dw的替换功能查找范围:整个当前本地站点搜
java 正则表达式基础,实例学习资料收集大全 原创
正则表达式简单的检查输入email是否合法程序日期:2007-04-06正则表达式检查来访IP是否合法的实际应用日期:2007-04-06js:日期正则表达式及检测日期:2007-04-06
编辑:568数据
标签:正则,正则表达式,日期,代码,函数