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

[ctfshow web入门] web41

信息收集

过滤了0-9和小写字母,但是没过滤 |,可以考虑用|或运算来重组想要的命令
system:函数会直接将命令的输出打印到标准输出设备(通常是屏幕),并返回最后一行输出
这意味着echo会输出命令返回的最后一行字符串,但不影响它将命令的结果输出到屏幕。所以得到的输出应该是system结果+system结果最后一行

if(isset($_POST['c'])){
    $c = $_POST['c'];
if(!preg_match('/[0-9]|[a-z]|\^|\+|\~|\$|\[|\]|\{|\}|\&|\-/i', $c)){
        eval("echo($c);");
    }
}else{
    highlight_file(__FILE__);
}

解题

由于我不会写php,所以我写了一个python版本的代码:[ctfshow web入门] RCE 或(or)、异或(xor)、非(not)绕过,点击超链接跳转阅读或使用代码
代码包括三种运算,异或(xor),或(or)和非(not)的加密运算

抓包重发

如果你使用抓包重发的技巧来实现,那么执行函数print(rce_or(list_cmd))获取加密字符串,用post发生对应的加密字符。
不要使用google的hackbar,它似乎有bug,无法成功
在这里插入图片描述

直接使用代码里的函数发送

rce_post(url, rce_or(list_cmd))

在这里插入图片描述

相关文章:

  • 物理备份工具 BRM vs gs_probackup
  • AndroidTV D贝桌面-v3.2.5-[支持文件传输]
  • “破解”GPT-4o生图技术:万物皆可吉卜力的技术路线推测
  • w285药店管理系统的设计与实现
  • 腾讯OCR文字识别实践--简历文本识别
  • Redis简介及其在Unity中的应用
  • Azure AI Foundry 正在构建一个技术无障碍的未来世界
  • 金融简单介绍及金融诈骗防范
  • 大白话聊MySQL覆盖索引
  • 第五届大数据、人工智能与风险管理国际学术会议 (ICBAR 2025)
  • 高质量双工自然对话数据,助力大模型口语能力进化
  • Linux用Wireshark进行Thread网络抓包关键步骤
  • 在ASP.NET Core 中实现幂等API和WinForms客户端防重提交实践
  • 使用UFW+IPSET禁用海外IP配置持久化操作
  • @SchedulerLock 防止分布式环境下定时任务并发执行
  • 深度学习:AI 大模型时代的智能引擎
  • linux shell编程之条件语句(二)
  • 小试牛刀-抽奖程序
  • Git 查看提交历史
  • 多链协议和跨链桥
  • 哪里可以做购物网站/网站域名解析ip
  • 网站商城微信支付/推广网站源码
  • 重庆网站开发服务/google网址直接打开
  • 广州微网站开发/小说百度风云榜
  • ipv6域名解析 做网站/百度在西安有分公司吗
  • 河南网络建站/知名品牌营销策划案例