美文网首页
ereg()截断漏洞

ereg()截断漏洞

作者: queena_ | 来源:发表于2017-11-27 12:57 被阅读0次

Challenge

error_reporting(0);

show_source(__FILE__);

$flag='you_get_me!';

if (isset (

$_GET['password'])) {

if (

ereg("^[a-zA-Z0-9]+$",$_GET['password']) ===FALSE)

echo  'You password must be alphanumeric';

else if (

strpos($_GET['password'],'--') !==FALSE)

die($flag);

else

echo  'Invalid password';}

?>

Solution

1、ereg()用途

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

可选的输入参数规则包含一个数组的所有匹配表达式,他们被正则表达式的括号分组。

2、题中ereg()正则限制了password的形式,只能是一个或者多个数字、大小写字母

3、strpos() 函数查找字符串在另一字符串中第一次出现的位置(区分大小写)

4、ereg函数存在NULL截断漏洞,导致了正则过滤被绕过,所以可以使用%00截断正则匹配

5、ereg()只能处理字符串的,遇到数组做参数返回NULL,判断用的是 === ,要求类型也相同,而NULL跟FALSE类型是不同的,strpos()的参数同样不能为数组,否则返回NULL,而判断用的是 !== ,所以这里的条件成立,也能得到flag

相关文章

  • ereg()截断漏洞

    Challenge error_reporting(0); show_source(__FILE__); $fla...

  • ereg()函数漏洞利用

    可令nctf为任何数组

  • 广西南宁第三届web-wp

    1 源码 通过题目可以看出是ereg截断题利用%00截断,简单的绕过就可以了这题要满足参数no要为数字,而且必须是...

  • [2017世安杯] 初赛Web Writeup

    Web: ctf入门级题目 view_source有源码,如下 根据源码,ereg可被%00截断,直接上paylo...

  • [第四届世安杯](web)writeup

    ctf入门级题目 利用ereg和strops处理数组的漏洞,提交?password[]=1 flag{Maybe_...

  • 2019-05-13 BugkuCTF Writeup之代码审计

    本来想把代码审计放在Web里,但是既然Bugku平台上是两部分分开的,所以就分开写吧 ereg正则%00截断 考察...

  • php安全

    文件包含漏洞** 本地文件包含**能打开并包含本地文件的漏洞,被称为本地文件包含漏洞(LFI)%00截断,php内...

  • 00截断

    利用00截断就是利用程序员在写程序时对文件的上传路径过滤不严格,产生0x00上传截断漏洞。(假设文件的上传路径为【...

  • PHP中的ereg_replace被弃用

    Deprecated: Function ereg_replace() is deprecated 这条错误提示已...

  • 文件上传中级

    一、WebShell文件上传漏洞分析溯源(第4题) 第一种方法1、上传一个图片,使用burp suite 截断 插...

网友评论

      本文标题:ereg()截断漏洞

      本文链接:https://www.haomeiwen.com/subject/htarbxtx.html