当前位置: 首页 > news >正文

Web题记

反序列化补充知识:

private变量会被序列化为:\x00类名\x00变量名
protected变量会被序列化为: \x00\*\x00变量名 
public变量会被序列化为:变量名

 web254

 这个逻辑不难,自己刚看的时候还奇怪是不是自己哪里想错了,因为没有牵扯到魔术方法啥的,但是一看就是挺简单的一个逻辑

思路:要获得flag,需要触发vipOneKeyGetFlag,在该函数里有if函数,所以我们要让isViptrue,所以需要在login界面的函数中让我们传入的usernamepassword等于ctfShowUser类所赋usernamepassword的值

 web255

 cookie中将"作为截断符号,需要编码绕过,这里采用url编码

 试了下,脚本里面有没有声明username和password都不影响,主要的就是需要让isVip为true,然后要进行编码,防止不可见字符影响结果

web256

多了框里面的这条语句,也就是说传入的username和password不能一致

 web257

construct方法在初始化一个类的时候被触发,construct方法会初始化info()这个类,在销毁时候触发destruct方法,destruct方法触发会调用info()类中的getInfo方法,然后返回user对象的值,这里我们看到我们想要调用的backDoor类中的方法也叫getInfo(),所以我们可以在序列化的时候把__construct方法初始化的类从info改为backDoor

web258

 if(!preg_match('/[oc]:\d+:/i', $_COOKIE['user'])){  匹配cookie里的user是否有c:或者o:,如果有就退出通过在冒号后面加上一个 + 即可绕过,我们在反序列化对象时,可以加一个字符串替换,将 O: 替换为 O:+, C: 替换成 C:+

[极客大挑战 2019]Secret File

对于这种页面直接就是先看源码

有个php文件点进去看

继续查看

 发现已经结束了,提醒我们回去看看,回去看看那两页面长啥样

 好像没啥特别的,抓包看到了一个隐藏的文件

最头疼的代码审计它来了

<?phphighlight_file(__FILE__);   //file文件高亮error_reporting(0);         //关闭错误报告$file=$_GET['file'];        //定义file传送方式为GET if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){ //strstr:找到第一次字符串“../”,“tp”,“input“,”data“输出的位置,并输出之后的字符串。说明存在file文件的过滤echo "Oh no!";exit();}include($file);            //包含文件
//flag放在了flag.php里
?>//strstr()和stristr()都用于在一个较长的字符串中搜索指定的子字符串,并返回从该子字符串第一次出现的位置开始到字符串末尾的部分。
//两者区别在于前者对大小写敏感,后者对大小写不敏感
//即程序过滤了 ../ tp input data

钻个小空子,没有过滤flag.php,直接访问试试

好吧,果然没有东西,这个时候就看input,data等字眼,想着可不可以用php伪协议读取文件内容

secr3t.php?file=php://filter/read=convert.base64-encode/resource=flag.php

 

http://www.lryc.cn/news/333841.html

相关文章:

  • 学习java第三十六天
  • 0205矩阵分块法-矩阵及其运算-线性代数
  • 1、java语法入门(找工作版)
  • arm的状态寄存器
  • 2024 蓝桥打卡Day34
  • 华为海思校园招聘-芯片-数字 IC 方向 题目分享——第九套
  • 如何创建虚拟环境打包py文件
  • CSS 学习笔记 总结
  • 基于Swin Transformers的乳腺癌组织病理学图像多分类
  • MySQL主从的介绍与应用
  • pytest中文使用文档----12缓存:记录执行的状态
  • 【代码随想录】哈希表
  • 绘图工具 draw.io / diagrams.net 免费在线图表编辑器
  • 【Vue】 Vue项目中的跨域配置指南
  • 跨站脚本攻击XSS
  • C++中的vector与C语言中的数组的区别
  • drawio画图编辑图形颜色
  • uniapp中uni.navigateTo传递变量
  • Spring Boot 构建war 部署到tomcat下无法在Nacos中注册服务
  • (2024,Attention-Mamba,MoE 替换 MLP)Jamba:混合 Transformer-Mamba 语言模型
  • “Java泛型” 得所憩,落日美酒聊共挥
  • pdf、docx、markdown、txt提取文档内容,可以应用于rag文档解析
  • 【Linux系列】“dev-node1“ 运行的操作系统分析
  • SpriingBoot整合MongoDB多数据源
  • 深入浅出 -- 系统架构之负载均衡Nginx缓存机制
  • 前端 小程序框架UniApp
  • 宏集PLC如何为楼宇自动化行业提供空调、供暖与通风的解决方案?
  • 【TI毫米波雷达】官方工业雷达包的生命体征检测环境配置及避坑(Vital_Signs、IWR6843AOPEVM)
  • 计算机毕业设计选题之基于SSM的旅游管理系统【源码+PPT+文档+包运行成功+部署讲解】
  • JavaWeb入门——Web前端概述及HTML,CSS语言基本使用