BUUCTF: [BSidesCF 2020]Had a bad day

BUUCTF: BSidesCF 2020Had a bad day

参考链接: https://juejin.cn/post/7091083692939935781

本文知识点:

php伪协议:

  1. 可以在resource中使用相对路径!!!

php://filter/convert.base64-encode/resource=woofers/../flag

  1. 将不存在的过滤器放到路径中时,php找不到只会警告,会继续向下执行,不会报错!!!

php://filter/convert.base64-encode/woofers/resource=flag

题目界面

该界面右两个按钮

随便点击一个按钮:

文件包含漏洞

尝试使用%00截断字符串

  1. 猜测后端是根据传入的category进行对应的文件包含,我很自然的想到使用data为协议先测试下,如下图:
  1. 尝试使用%00截断字符串,且将需要的woofers或则meowers包含进来

进国上述的测试,发现其根本无法绕过,看本文开头的参考链接解释,说高版本的php会检查传入的字符串的长度与传入参数的长度,如果不一样就不会执行,因此使用%00截断路径的方式不行!

尝试使用php的过滤器

  • 继续测试,尝试使用相对路径试试,根据回显发现,后端会将传入的参数后面拼接.php!
  • 传入右边的参数, php://filter/convert.base64-encode/resource=index,发现能够回显数据,其实这里我觉得都是狗运,因为后端的源码允许你查看index,不然这个也不行。按照回显的数据,其实要包含woofers或则meowers,并没有提到index。但是我菜,我看到write up这样写的。
  • 查看flag.php文件,由于查看的路径中必须包含woofers或则meowers,所以可以使用下面两条参数,都可以:

    php://filter/convert.base64-encode/resource=woofers/../flag

    php://filter/convert.base64-encode/woofers/resource=flag

  • base64解码得到flag,如下:

相关推荐
网安小学生(兼顾数据库版)1 小时前
CRA漏洞通报义务倒计时:9.11生效要求深度解读
网络·安全·web安全
奔跑的卡卡1 小时前
不只校验单个接口:基于接口调用图谱的全链路请求合法性校验方案
前端·web安全
Neighbor_OldY2 小时前
【实战复盘】RDP暴力破解与内网横向移动溯源:Windows全套排查命令与事件ID硬核解析
运维·windows·web安全
芯盾时代10 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(二)
安全·web安全·网络安全
蒲公英eric1 天前
从客户端到服务端:DVWA DOM 型 XSS 模块完整漏洞分析教程
前端·web安全·ai·xss·dvwa·ai安全
IT大白鼠1 天前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
纯.Pure_Jin(g)2 天前
靶场PHP函数整理+防御方式
开发语言·php·ctf
其实防守也摸鱼2 天前
智能体推荐:精选 AI Agent 工具与实战指南
运维·开发语言·人工智能·学习·web安全·自动化
Best-Wishes2 天前
好靶场杯第一届-古法 流量包分析
计算机网络·web安全·安全威胁分析
2601_962072503 天前
网络安全防护指南:筑牢网络安全防线(510)
安全·web安全·php