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}
a小杰 发表于 2019-12-23 09:44
遇到这种问题 我们理性分析,简单点来说,首先我们要这样,然后再那样,然后再这样,然后再那样,然后重启...
看了你的头像,让我知道了,只要充钱就能解决,根本不要额外的 那些 花里胡哨的的东西 来解析 遇到这种问题 我们理性分析,简单点来说,首先我们要这样,然后再那样,然后再这样,然后再那样,然后重启 然后ok 解决完成,完美解决! SF, 坐等再更新 思路果然够广泛 看起来很发散 这是个老题目,当时我是这样做的:
构造一个get payload: ?un='0'
一个post payload: ctf[]=88888888即可打印出完整flag。
我也想打ctf啊阿 这种网络攻防的CTF如何学习入手? 以前没有遇到过这种,学习了,感谢分享 CTF初学者路过,提前收集思路,做储备
页:
[1]
2