CTF-Web-[极客大挑战 2019]BuyFlag

Java基础

浏览数:66

2020-6-13

CTF-Web-[极客大挑战 2019]BuyFlag

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途!

CTP平台

网址

https://buuoj.cn/challenges

题目

Web类,[极客大挑战 2019]BuyFlag

打开题目的实例

思路

看到这个题目,应该是php之类的,我们使用bp查看一下

发现里面有一个buy.php文件,直接打开看看,里面有一段被注释的代码

if (isset($_POST['password'])) {
    $password = $_POST['password'];
    if (is_numeric($password)) {
        echo "password can't be number</br>";
    }elseif ($password == 404) {
        echo "Password Right!</br>";
    }
}

意思是说要经过post传输密码要等于404,但是404又不能被is_numeric函数检测出来,所以我们需要绕开它,使用在后面加上%20跳过,然后在cookie里面有个user=0,我们改一下,将之改为user=1,使用以下数据去访问

注意要是post请求

然后它说我们的长度有问题,应该是strcmp函数检测的

那我们改一下,使用money[]可以绕开strcmp函数

得到flag

感谢

BUUCTF

以及勤劳的自己

作者:归子莫