[BSidesCF 2020]Had a bad day -- 关于00截断的衍生
1NDEX
- 0x00 前言
- 小tips
- 0x01 复现
- 关于00截断的题外话
- 0x02 Rethink
0x00 前言
点图片时看到url有变动
直觉觉得像文件包含
协议流读一下
册 还真是
贴一下php源码
<?php$file = $_GET['category'];if(isset($file)){if( strpos( $file, "woofers" ) !== false || strpos( $file, "meowers" ) !== false || strpos( $file, "index")){include ($file . '.php');}else{echo "Sorry, we currently only support woofers and meowers.";}}?>
试一下flag.php
真有
想方设法包含一下
本来还想通过花里胡哨的操作把马放上去
试了一下data,发现这个wrapper被禁了…谢特
远程文件包含也被禁了
小tips
strpos( $file, "meowers" ) !== false || strpos( $file, "index")
前后两个判断其实还不太一样
看一下strpos函数
strpos() 函数查找字符串在另一字符串中第一次出现的位置。
返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。
注释:字符串位置从 0 开始,不是从 1 开始。
所以前面meowers只要求出现就行
而后面的index是要求出现在非首位的位置
否则 strpos($file,“index”)返回int(0) 判断也过不去
0x01 复现
老实看wp
原来php://filter还能自己套协议呢
poc
php://filter/convert.base64-encode/index/resource=flag
/index/是加上去凑条件过判断的
可以发现当php定位不到我们自己加的filter时会报warning
但并没有影响执行,学到了!
还看到有师傅有相对路径做的
好巧妙
相对路径计算时中间目录不存在并不影响
php://filter/read=convert.base64-encode/resource=woofers/../flag
题目就这样done了!
关于00截断的题外话
but 其实我一开始想用00截断做的
属实是学艺不精了…搜了一下才知道他对php版本要求比较低
(PS:网上很多文章都说版本低于5.3.4,我实测5.3.29都不行!踩坑好久!自己试5.2.x才可以,后面看文章推测应该是5.3.24以前)
那句话咋说…实践是检验真理的唯一标准蛤
但是呢我看到它的报错就比较疑惑
明明存在flag.php这个文件
他居然报错fail opening ‘flag.php’
然后找到一篇醍醐灌顶的源码级理解
师傅tql
https://blog.csdn.net/zhangzhuangtongxue/article/details/78198191
以下截取文章
也就是说当比较时发现长度不一样(存在截断字符串)时会直接输出报错信息
也可以推测出5.3.24之前的php版本都适用00截断了嗝~
0x02 Rethink
刷点前面的题找找自信
快被打自闭了
[BSidesCF 2020]Had a bad day -- 关于00截断的衍生相关推荐
- BUUCTF WEB [BSidesCF 2020]Had a bad day
BUUCTF WEB [BSidesCF 2020]Had a bad day index.php?category=woofers' 报错 Warning: include(woofers'.php ...
- [BSidesCF 2020]Had a bad day
[BSidesCF 2020]Had a bad day 界面就给了俩选项,网页源码也没啥东西,随便点一个选项,也看起来没啥用 但是点了后发现可能是sql,但是sql试过了不行 这个页面源码有个ind ...
- BUUCTF Web [BSidesCF 2020]Had a bad day1
[BSidesCF 2020]Had a bad day1 启动靶机,打开burp,点击WOOFERS抓包 可以看到请求中有个meowers的参数,在后面加个'测试 通过报错信息可以看出,catego ...
- BUUCTF:[BSidesCF 2020]Had a bad day
BUUCTF:[BSidesCF 2020]Had a bad day 可能存在SQL注入或者文件包含,在我尝试读取index.php源码的时候出现了报错信息 的确是文件包含,但是有index.php ...
- buu做题笔记——[WUSTCTF2020]朴实无华[BSidesCF 2020]Had a bad day
BUU [WUSTCTF2020]朴实无华 robots.txt response level 1 level 2 level 3 [BSidesCF 2020]Had a bad day [WUST ...
- BUUCTF [BSidesCF 2020] Had a bad day
BUUCTF [BSidesCF 2020] Had a bad day 考点: php伪协议嵌套 启动环境: 其中包含两个按钮,选择猫和狗的图片: 此时的URL变为: http://xxx/inde ...
- 00截断上传绕过_【文件上传与解析】文件上传与解析漏洞总结v1.0
点击上方"公众号" 可以订阅哦! Hello,各位小伙伴晚上好~ 这里是依旧勤劳写公众号的小编~ 今天本公众号将推出一个新的模块,那就是漏洞知识点总结模块!!!(此处应有掌声~) ...
- php5.5 反序列化利用工具_%00截断配合反序列化的奇妙利用
文章来源:安全客 原文链接:%00截断配合反序列化的奇妙利用 - 安全客,安全资讯平台 前言 前段时间做了一个CTF题目,发现这道题目相当的精妙,主要是利用了%00的截断来绕过安全校验,最终利用反序列 ...
- 00截断上传绕过_关于上传中的00截断分析
关于上传中00截断的细节,很多朋友在渗透中都会发现一些这样的有趣现象,这个站点使用00截断上传的方法上传成功了,而换一个站点又失败了,这是什么原因呢?你看了这篇文章就会明白. 00截断原理 0x00是 ...
最新文章
- Python--面向对象之组合
- [04-05]box框模型(Box Model)定义了元素框处理元素内容、内边距、边框和外边距的方式...
- 流操作中的noException
- 大数据技术之kafka (第 3 章 Kafka 架构深入) 分区策略在分析
- MacVim配置目录树
- hadoop集群安装配置
- dlib+OpenCV实现人脸登录系统
- mac perl dbd mysql_Install DBD::mysql for Perl in XAMPP in Mac , solving errors
- 固定资产中计算机软件类型,固定资产国标分类1.doc
- vtkdelaunay3d的参数设置_VTK 渲染体数据并加方位标注
- KinhDown(度盘PC下载器)
- camera link心得
- 谷歌地图,计算两个坐标点之间的距离
- 【基础入门题031】三色球问题
- 编译LineageOS
- 潘多拉-视频播放器,一个轻量的视频播放器
- 中国香水市场深度调查研究报告
- iOS-常见三种加密(MD5、非对称加密,对称加密)
- 数据结构实战(十)——家谱管理系统
- HTML基础学习记录