php中ereg函数的截断漏洞

.ereg()函数用指定的模式搜索一个字符串中指定的字符串,如果匹配成功返回true,否则,则返回false。搜索字母的字符是大小写敏感的。

int ereg(string pattern, string originalstring, [array regs]);

例,$email_id = "admin@tutorialspoint.com";

    $retval = ereg("(\.)(com$)", $email_id);

 

ereg()限制password的格式,只能是数字或者字母。但ereg()函数存在NULL截断漏洞,可以使用%00绕过验证。

 

这里ereg有两个漏洞:

 

    ①%00截断及遇到%00则默认为字符串的结束

    ②当ntf为数组时它的返回值不是FALSE


另外提示,科学计数法的表示是

1e9=1000000000

e一定是小写

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页