首页 > 编程语言 >buuctf-ssrf+php伪协议嵌套

buuctf-ssrf+php伪协议嵌套

时间:2023-01-11 16:45:49浏览次数:63  
标签:index buuctf ssrf read base64 嵌套 php

[BSidesCF 2020]Had a bad day 【ssrf+伪协议的嵌套】

进入或可以点击WOOFERS和MEOWERS获取狗和猫的图片,同时发现地址栏出现category分别等于WOOFERS和MEOWERS两种值

之后发现图片的地址为
说明是服务器再次从本地请求过,所以此处存在ssrf的可能(ssrf 可以参见 https://blog.csdn.net/qq_48904485/article/details/123653514
所以尝试利用php伪协议 读取,发现报错
php://filter/read=convert.base64-encode/resource=index.php

发现是源码中应该利用了include同时服务端又添加了.php所以去掉payload中的php,即改为
php://filter/read=convert.base64-encode/resource=index
成功获取源码base64加密值,解密即可

源码中部分如下,说明只有在变量中存在index,woofers,meomers时才会执行include函数

到此不会了,查询wp后发现php伪协议可以嵌套进行,获取值
即利用payloadcategory=php://filter/read=convert.base64-encode/index/resource=flag
此处嵌套在我的理解中即为filter增加一个条件,index,类似前文中的read=conver.base64-encode,虽然没有这种限制出现了报错,但是成功绕过了要求的字符。
读取成功
成功拿到flag的base64值,解密后即可确定flag为

标签:index,buuctf,ssrf,read,base64,嵌套,php
From: https://www.cnblogs.com/zz-gy/p/17044199.html

相关文章

  • php超大文件上传
    ​ PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploads=on/off 是否允许通过http方式上传文件2.max_execution_time=30 允许脚本最大执行时......
  • thinkphp中或查询使用方法
    一:字符串条件查询 //直接实例化Model $user=M('user1'); var_dump($user->where('id=1ORage=55')->select())二:使用索引数组作为查询条件$u......
  • buuctf-web方向--ssrf+sql+dirscan
    [网鼎杯2018]Fakebook首先,扫描该网站利用dirsearch进行扫描获取robot.txt,从中发现源码备份/user.php.bak下载后可读取源码<?phpclassUserInfo{public$name......
  • Php入门
    简介PHP是"PHPHypertextPreprocessor"的首字母缩略词PHP是一种开源脚本语言,在服务器上执行代码5大特点1,写在标记<?php...?>间的内容就是php代码2,php变......
  • thinkphp验证码一直错误
    欢迎关注我的公众号:夜说猫,让贫穷的程序员不靠打代码也能吃饭~在做验证码登录到时候,遇到奇怪的问题,一直报错(明明是对的)后来发现,cookie一直是空的,这里正常来讲应......
  • ZABBIX php-fpm占用内存高的解决办法
    0x00故障:  0x01TopPIDUSER   PR NI  VIRT  RES  SHRS %CPU%MEM   TIME+COMMAND1605apache20010692407264003920S......
  • Docker基础知识 (23) - 使用 Docker 部署 Nginx + Php/Laravel + MariaDB 项目 (2) -
    本文在“Docker基础知识(12)-使用Docker部署Nginx+Php/Laravel+MariaDB项目”基础上,修改Nginx的配置文件和docker-compose.yml,配置phpMyAdmin目录密码保......
  • PHP 之计算当月之前12个月的日期
    一、效果图 二、示例<?php//获取日期$now_year=date('Y');$now_month=date('m');$date1=$date2=array();for($i=1;$i<=$now_month;$i++){......
  • 记录一下 php解密java的问题
    使用大佬的:https://github.com/lpilp/phpsm2sm3sm4php版本国密意见问题:在判断椭圆点的时候x,y报错。发现java部分的问题在于/***分解加密字串*(C1=C1标志位2位+C1......
  • ThinkPHP v5.0.24 反序列化
    ThinkPHPv5.0.24反序列化前言昨天花了一下午的时间才把反序列化链给审明白,今天记录一下笔记再来审一遍。(自己还是太菜了~~~)在我的印象中,ThinkPHP框架的漏洞非常多,所以......