1

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

博客说明

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

CTP平台

网址

https://buuoj.cn/challenges

题目

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

image-20200503171723995

打开题目的实例

image-20200503175706878

思路

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

image-20200503180222031

发现里面有一个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请求

image-20200503184702569

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

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

image-20200503185030986

得到flag

感谢

BUUCTF

以及勤劳的自己


归子莫
1k 声望1.2k 粉丝

信息安全工程师,现职前端工程师的全栈开发,三年全栈经验。