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

NSS [HUBUCTF 2022 新生赛]checkin

NSS [HUBUCTF 2022 新生赛]checkin

image-20230711095954996

判断条件是if ($data_unserialize['username']==$username&&$data_unserialize['password']==$password),满足则给我们flag。正常思路来说,我们要使序列化传入的username和password等于代码中的两个同名变量,可是在include("flag.php");处提示程序已经修改了 u s e r n a m e 和 username和 usernamepassword的值,我们并不知道这两个变量的值现在是多少。所以正常思路肯定走不通。

但是仔细看看判断条件,if ($data_unserialize['username']==$username&&$data_unserialize['password']==$password)会发现这里的比较是弱比较(松散比较)(==),那就好办了!

image-20230711100710061

由表可知,true和非空、非零字符串松散比较(==)都是为true

所以我们使得$data_unserialize['username']==true并且$data_unserialize['password']==true即可满足if ($data_unserialize['username']==$username&&$data_unserialize['password']==$password),获得flag。

由此我们可以构造exp:

<?php
$info = array('username'=>true,'password'=>true
);
echo  serialize($info);

生成a:2:{s:8:"username";b:1;s:8:"password";b:1;}

payload:

?info=a:2:{s:8:"username";b:1;s:8:"password";b:1;}

image-20230711101542034

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

相关文章:

  • 免费小程序HTTPS证书
  • Linux arm64异常简介和系统调用过程
  • 我遇到的最蠢的bug,竟然是因为这个原因……
  • 【Mysql】查询mysql的版本
  • 广州华锐互动:VR互动实训内容编辑器助力教育创新升级
  • 2023最新版本 从零基础入门C++与QT(学习笔记) -1- C++输入与输出
  • Linux:权限篇 (彻底理清权限逻辑!)
  • classification_report分类报告的含义
  • mysql with 的用法 (含 with recursive)
  • YOLOv8模型ONNX格式INT8量化轻松搞定
  • 揭秘南卡开放式耳机创新黑科技,核心技术剑指用户痛点
  • ChatRule:基于知识图推理的大语言模型逻辑规则挖掘11.10
  • 6.4翻转二叉树(LC226—送分题,前序遍历)
  • 【斗罗二】霍雨浩拿下满分碾压戴华斌,动用家族力量,海神阁会议
  • 通义千问, 文心一言, ChatGLM, GPT-4, Llama2, DevOps 能力评测
  • 一键创建PDF文档,高效管理您的文件资料
  • React在 JSX 中进行条件渲染和循环,并使用条件语句和数组的方法(如 map)来动态生成组件或元素
  • 数据结构-二叉树的遍历及相关应用
  • 机器人入门(五)—— 仿真环境中操作TurtleBot
  • G2406C是一款高效的直流-直流降压开关稳压器,能够提供高达1A输出电流。
  • HTB——常见端口及协议总结
  • Spring Boot中处理简单的事务
  • source activate my_env 和conda activate my_env 有什么区别
  • 机器学习模型超参数优化最常用的5个工具包!
  • 出口美国操作要点汇总│走美国海运拼箱的注意事项│箱讯科技
  • Gateway网关
  • Python Opencv实践 - 车牌定位(纯练手,存在失败场景,可以继续优化)
  • U盘插在电脑上显示要格式化磁盘怎么办
  • Python使用腾讯云SDK实现对象存储(上传文件、创建桶)
  • Springboot整合Jedis实现单机版或哨兵版可切换配置