stat 发表于 2019-12-22 14:59

CTF竞赛-Web签到题解题过程

本帖最后由 stat 于 2019-12-22 15:01 编辑

上周参加CTF竞赛,遇到一道Web签到题发现比较有意思,发一下解题过程
打开题目发现有一个弹框Backup File,然后展示如下界面
华北最大的公司NSB的文件管理平台被hack入侵了,你能找到线索么?

发现没有网站robots.txt,查看网站源码中也啥都没有,当时想了一个思路会不会跟弹框有关

随手在网站后面敲了一个www.zip,果然是有备份文件

解压缩这个文件,解压了一次发现打不开,随后改后缀名.zip又解压了一次

随后看到了index.php.bak的源代码,试着分析了一下代码
<?php
error_reporting(0);
include("f2f86a5c7e623b54e4685fcc8c503596.php");
$UN=@$_GET['un'];
$CTF=@$_POST['ctf'];
if($UN==0 and $UN){
    echo $flag_ahead;
}
if(is_numeric($CTF)){
    exit();
}
if($CTF>87654321){
    echo $flag_behind;
}
?>

满足$UN==0的条件,我使用的?un=00,来等于0,用get的方式请求构造发现flags只获取了一半flags,(原来还是要发POST请求的)

既然GET请求要满足满足$UN==0的条件,POST请求ctf变量要满足大于87654321,还不能是数字
我使用的Firefox里面的插件Max HackBar来实现请求,如果还有其它比较好用的方法可以告诉我
Get请求用?un=00,来获取前半段flags
POST请求的&ctf=987654321a来满足post请求中ctf大于87654321,还不能是数字的要求,来获取后半段flags
成功获取到flagsUNCTF{b9a5a633c806f9d24e42681c3f0360ba}

malan5201314 发表于 2019-12-23 16:02

a小杰 发表于 2019-12-23 09:44
遇到这种问题 我们理性分析,简单点来说,首先我们要这样,然后再那样,然后再这样,然后再那样,然后重启...

看了你的头像,让我知道了,只要充钱就能解决,根本不要额外的 那些 花里胡哨的的东西 来解析

a小杰 发表于 2019-12-23 09:44

遇到这种问题 我们理性分析,简单点来说,首先我们要这样,然后再那样,然后再这样,然后再那样,然后重启 然后ok 解决完成,完美解决!

cptw 发表于 2019-12-22 15:38

SF, 坐等再更新

HighBox 发表于 2019-12-22 16:15

思路果然够广泛

吐槽户 发表于 2019-12-22 16:54

看起来很发散

hans2000 发表于 2019-12-22 21:11

这是个老题目,当时我是这样做的:

构造一个get payload: ?un='0'
一个post payload: ctf[]=88888888即可打印出完整flag。

judgecx 发表于 2019-12-22 23:16

我也想打ctf啊阿

china-ray 发表于 2019-12-23 09:14

这种网络攻防的CTF如何学习入手?

daymissed 发表于 2019-12-23 10:27

以前没有遇到过这种,学习了,感谢分享

可怕七娃 发表于 2019-12-23 15:15

CTF初学者路过,提前收集思路,做储备
页: [1] 2
查看完整版本: CTF竞赛-Web签到题解题过程