[BJDCTF2020]Mark loves cat 1
首先打开题目得到:
在网站没有什么发现
就扫描一下网站得到:
发现有git泄露得到:
python2 GitHack.py http://d972792b-613b-488a-af59-f5f8214096e2.node4.buuoj.cn:81/.git/
得到源码:
首先通过代码审计发现如果直接绕开去echo $flag的话
在绕过isset()的时候会覆盖flag,输出变量就是空得不到flag
方法一
利用exit($handsome)输出flag
让handsome=flag,在遍历变量覆盖的时候
$handsome就等于$flag
然后利用:x=flag,flag=x,绕过if判断
得到flag:
方法二
利用$yds绕过
让yds=flag,然后if检测不到请求的参数flag
就输出$yds=$flag
就得到flag:
方法三:
利用is:
当POST和GET的flag=flag,
输出is
让is=flag