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

[RoarCTF 2019]Easy Calc 详解

  • [RoarCTF 2019]Easy Calc

  • 1

  • ajax 是进行前后端交互的 但是我们发现一个waf 就是他提示的
  • "calc.php?num="+encodeURIComponent($("#content").val()) ?num 的值必须是数字
  • 审计一下

  • foreach

  • 发现了num的限制
  • 但是eval是rce的标志所以我们首选的就是使用命令执行

  • 被禁止了 system() 使用其他的passtru()等也鸡鸡了
  • 所以就不是命令执行了 而是代码执行
  • scandir() 函数可以进行目录的扫描 我们扫一下根目录
  • 但是 / 被过滤了 可以使用chr(ascii码) 进行转换 / 的ascii 可以使用py脚本看一下

  • ord 和chr 一个是进行ascii码的查找一个是进行字符串的匹配
  • 所以构造payload ?num=scandir(chr(47))
  • 但是这个前端的验证必须要我们的num是数字

  • "calc.php?num="1;scandir(chr(47)) #+encodeURIComponent($("#content").val())
  • 黄的就是构造的pay
  • 试一下

  • 报废了
  • 还涉及一个知识点

  • php bypass
  • 我们了解一下php的接收参数的逻辑 : 他会对 num 传的数据进行去空格个/等的处理
  • 但是如果我们在 num之前加一个 空格或者加号 就会让前端的这个机制无法识别num的具体位置
  • 但是后端是没有影响的 后端会剥去这些

  • 加一个空格 :"calc.php ?num="+encodeURIComponent($("#content").val())
  • 对方就不认识了 这个前端的waf就绕过了直接传到后端
  • 实现绕过 这样num就可以是任何数了
  • node5.buuoj.cn:26836/calc.php? num=1;var_dump(scandir(chr(47)))
  • 为什么使用var_dump => 这个是处理数组的 而 scandir 返回的就是数组
  • 找到flag

  • 这个是文件 可以使用函数 file_get_contents()进行读取文件

  • 别忘了路径前面要有一个 /
  • ?%20num=1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

  • flag{fbdd82de-9005-4f6d-a16b-424fca06a347}

相关文章:

  • 空洞/膨胀卷积
  • clangd-vscode配置
  • 网络安全之红队LLM的大模型自动化越狱
  • LinuxAgent开源程序是一款智能运维助手,通过接入 DeepSeek API 实现对 Linux 终端的自然语言控制,帮助用户更高效地进行系统运维工作
  • 遗传算法实现单货架库位优化
  • 在Linux系统中安装Anaconda的完整指南
  • vue3代码规范管理;基于vite和vue3、 eslint、prettier、stylelint、husky规范;git触发eslint校验
  • JavaWeb:vueaxios
  • 光触发RFID:破解物流、电力、资产管理三大领域的“不可能三角”
  • 基于 Python 的实现:居民用电量数据分析与可视化
  • 基于SpringBoot的食物营养分析与推荐网站系统
  • 22.晶振的信号与布局布线处理
  • 安卓基础(泛型)
  • 跨语言哈希一致性:C# 与 Java 的 MD5 之战?
  • 搭建speak yarn集群:从零开始的详细指南
  • C++(初阶)(十三)——继承
  • 【C++11特性】Lambda表达式(匿名函数)
  • 职坐标IT培训破局AI风口新赛道
  • 「Mac畅玩AIGC与多模态06」开发篇02 - 开发第一个知识库问答应用
  • MANIPTRANS:通过残差学习实现高效的灵巧双手操作迁移
  • 西班牙遭遇史上最严重停电,已进入国家紧急状态
  • 普京发表声明感谢协助俄军收复库尔斯克州的朝鲜军人
  • 马上评|演唱会云集,上海如何把“流量”变“留量”
  • 泰山景区管委会:未经审核同意不得擅自举办竞速类登山活动
  • 万能险新规落地:保险期限不得低于五年,明确万能险销售“负面清单”
  • 珠海市香洲区原区长刘齐英落马,此前已被终止省人大代表资格