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

web358

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if(preg_match('/^http:\/\/ctf\..*show$/i',$url)){echo file_get_contents($url);
}

检测url

  • **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">http://ctf.</font>** 开头(不区分大小写,**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">/i</font>** 修饰符)。
  • 中间可以是任意字符(**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.*</font>**)。
  • **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">show</font>** 结尾。

我本来想找一下可以解析为127.0.0.1的域名中有没有存在ctf.开头的域名,结果没有。只能另辟蹊径

没想到这道题问deepseek居然可以直接出答案

解法

[<font style="color:#000000;">http://ctf.@127.0.0.1/flag.php?show</font>](http://ctf.@127.0.0.1/flag.php?show)

这里其实涉及一个很古老的url片段,以前的url会在协议后面加上用户名例如

<font style="color:#000000;">schema://username@host:port</font>,现在因为密码明文运输了其实这种写法很少见了,但是这里正则匹配要求ctf.开头的话就只能使用这种方法了,结尾要show作结尾的话可以让其作为参数结尾反正不影响路径

http://www.hskmm.com/?act=detail&tid=9914

相关文章:

  • 04_Redis凭啥这么牛:核心特性剖析
  • WPF包
  • 惊爆!Flutter消息通道的超神全解析!
  • ctfshow web351
  • ctfshow web353
  • Linux虚拟机常用命令与Hadoop生态组件启动大全
  • BGP路由属性与选路-1
  • private void Form1_Load和 private void Form1_Activated 方法区别
  • BGP反射路由器
  • HarmonyOS Stage模型与ArkTS:现代应用开发的核心架构与最佳实践 - 详解
  • H5 页面与 Web 页面的制作方法 - 实践
  • Spring Cloud Gateway吞吐量优化
  • upload-labs
  • 物联网摄像头硬件设计秘籍:低成本与低功耗的平衡之道
  • CF182C Optimal Sum
  • 关于网络社交
  • nginx学习笔记一:基础概念
  • HTB UNIV CTF 24 Armaxix靶场漏洞链:命令注入与账户接管实战
  • 【JAVA接口自动化】JAVA如何读取Yaml文档
  • PyTorch Weight Decay 技术指南
  • AUTOSAR进阶图解==>AUTOSAR_SWS_PDURouter - 实践
  • getDefaultMidwayLoggerConfig报错;解决方法。
  • js获取浏览器语言,以及调用谷歌翻译api翻译成相应的内容
  • 总结RocketMQ中的常见问题
  • The 2025 ICPC Asia EC Regionals Online Contest (II)
  • C++线上练习
  • Python实现Elman RNN与混合RNN神经网络对航空客运量、啤酒产量、电力产量时间序列数据预测可视化对比
  • 4G/Wi-Fi/以太网三网合一,智能融合通信实战案例集
  • 关于介绍自己的第一篇随笔
  • 深入解析:N32G43x Flash 驱动移植与封装实践